AppSearch
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
16 באוקטובר 2024 | - | - | - | 1.1.0-alpha06 |
הצהרת יחסי תלות
כדי להוסיף תלות ב-AppSearch, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.
מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle
של האפליקציה או המודול:
מגניב
dependencies { def appsearch_version = "1.1.0-alpha05" implementation "androidx.appsearch:appsearch:$appsearch_version" // Use kapt instead of annotationProcessor if writing Kotlin classes annotationProcessor "androidx.appsearch:appsearch-compiler:$appsearch_version" implementation "androidx.appsearch:appsearch-local-storage:$appsearch_version" // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation "androidx.appsearch:appsearch-platform-storage:$appsearch_version" }
Kotlin
dependencies { val appsearch_version = "1.1.0-alpha05" implementation("androidx.appsearch:appsearch:$appsearch_version") // Use annotationProcessor instead of kapt if writing Java classes kapt("androidx.appsearch:appsearch-compiler:$appsearch_version") implementation("androidx.appsearch:appsearch-local-storage:$appsearch_version") // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation("androidx.appsearch:appsearch-platform-storage:$appsearch_version") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.1
גרסה 1.1.0-alpha06
16 באוקטובר 2024
androidx.appsearch:appsearch-*:1.1.0-alpha06
משוחרר. גרסת 1.1.0-alpha06 כוללת את ההוספות האלה.
שינויים ב-API
- נוסף צומת שמייצג את פונקציית השאילתה
PropertyDefined
. (I1aeaf) - מוסיפים צמתים שמייצגים חיפוש מספרי והגבלה של מאפיינים. (I963a9)
- מוסיפים צומת שמייצג את פונקציית השאילתה
GetSearchStringParameter
. (I4f99b) - מוסיפים צומת שמייצג את פונקציית השאילתה
HasProperty
. (I9c1c5) - הוספת ממשק להטמעת פונקציות ב-AST. (I9d42e)
- מוסיפים אופרטורים AND ו-OR. (Iaa442)
- מוסיפים
NegationNode
כדי לייצוג שלילה לוגית של שאילתות ב-AST. (Ia855a) - הוספת ממשק צומת ל-
AppSearch
להגדרת צמתים. (If42fb) - הוספת הערה על ממשק API ניסיוני עבור
AppSearch
. (I3e57c)
תיקוני באגים
- מוסיפים
TextNodes
לתנאי ההחזקה. (Iefd02)
תיקון אבטחה
- החל מהשינוי הזה, androidx מבצע קומפילציה מול protobuf 4.28.2 כדי לטפל בבעיה CVE-2024-7254. כדי לטפל בסיכון של נקודת החולשה, צריך לשדרג את התלות ב-
androidx.appsearch:appsearch-external-protobuf
לגרסה העדכנית ביותר, 1.1.0-alpha06.
גרסה 1.1.0-alpha05
4 בספטמבר 2024
androidx.appsearch:appsearch-*:1.1.0-alpha05
משוחרר. גרסת 1.1.0-alpha05 כוללת את ההוספות האלה.
שינויים ב-API
- הוצאה משימוש של
setEmbeddingSearchEnabled
ו-getEmbeddingSearchEnabled
מיותרים. המחיקה שלsetListFilterTokenizeFunctionEnabled
ו-getListFilterTokenizeFunctionEnabled
. מחיקת פונקציית השאילתה 'tokenize'. הוחלפה בפונקציית השאילתהgetSearchStringParameter
ובפונקציהaddSearchStringParameter
. (I09f5a) - משנים את השם של
Alarm#getComputingDevice
ל-getOriginatingDevice
. (I63121)
גרסה 1.1.0-alpha04
7 באוגוסט 2024
androidx.appsearch:appsearch-*:1.1.0-alpha04
משוחרר. גרסת 1.1.0-alpha04 מכילה את ההוספות האלה.
תכונות חדשות
- תמיכה בהטמעה חדשה של
PlayServicesStorage
, שמאפשרת להשתמש ב-AppSearch
במכשירים ישנים בלי לצבור עלות משמעותית שלLocalStorage
ל-APK. הטמעת האחסון הזו פועלת על ידי שמירת נתוני האפליקציות באפליקציית Play Services. - תמיכה בממשקי API חדשים במכשירים עם Android מגרסה 15.
- תמיכה בחיפוש במסד הנתונים באמצעות הטמעת וקטורים, שמאפשרת התאמה מעורפלת. (I2b41b)
- תמיכה בסוגים של תבניות הורה ובפולימורפיזם בתוך מודל הסכימה
AppSearch
. (I06118) - לתמוך ב-API של
TakenAction
שמאפשר לאפליקציות לדווח מתי אנשים לחצו או ננטשו על תוצאות, לצורך שיפור האיכות במהלך חיפושים עתידיים. (I54091) - הוספנו את ההערה החדשה
@Document.BuilderProducer
כדי לתמוך בכיתות עם בוני מודלים במעבד ההערות. (Iec30a) - תמיכה בשליטה ברמת פירוט גבוהה יותר על המאפיינים של מסמך בתצוגת עץ שיתווספו לאינדקס. (Iec30a)
- תמיכה בסינון חיפושים לפי מאפייני מסמכים מסוימים. (Ib2659)
- תמיכה בהגדרות גלישה מפורטות יותר על ידי הרשאה לשימוש ב-OR וב-AND של הגדרות החשיפה. (I0274b)
- תמיכה בהענקת חשיפה של נתונים לכל האפליקציות שיכולות לראות את קיומה של האפליקציה שהיא הבעלים שלה (חשיפה ציבורית). (I992e4)
- תמיכה באחזור רק תוצאות שיש בהן נתונים מאוכלסים בנכס מסוים. (I7d94f)
- תמיכה באחזור אנשי קשר ארגוניים בפרופיל האישי. (Idd587)
שינויים ב-API
- מוסיפים את הפרמטרים של ההערה
indexableNestedPropertiesList
ו-inheritIndexableNestedPropertiesFromSuperclass
להערהDocument.DocumentProperty
של AppSearch כדי לאפשר הוספה לאינדקס של נתיבים ספציפיים של נכסים בתצוגת עץ. (Iec30a) - תמיכה ב-buildor של ה-builder כדי ליצור מכונות של ה-builder במעבד ההערות של
AppSearch
(I265c9) - עדכון מעבד האנוטציות של
AppSearch
כך שיתמוך בהגדרת סוגי הורה לפולימורפיזם (I06118) - נוספה שיטה
GetSchemaRequest
לניקוי הגדרות החשיפה (I38379) - תמיכה ב-
addParentType
ב-AppSearch לצורך פולימורפיזם (Ida14a) - הוספת ממשקי API לביטויים נוספים לדירוג (I5d9f4)
- הוספת
SearchAction
API (I54091) - הוספת שדה תיאור לסוגי
AppSearch
(I84762) - הוספת ממשקי API להטמעת שאילתות חיפוש ורישום דירוגים ל-
AppSearch
(I0f6c3) - הסרה של
getDeletionPropagation
(I21192)
גרסה 1.1.0-alpha03
24 במאי 2023
androidx.appsearch:appsearch-*:1.1.0-alpha03
משוחרר. גרסה 1.1.0-alpha03 כוללת את ההוספות האלה.
תכונות חדשות
- תמיכה בממשק API מתקדם לשאילתות, בממשק API מתקדם למתן ציונים ובחיפוש מספרי. (I02d48)
- הוספת ממשק API של
LocalStorage.createGlobalSearchSession
לחיפוש בכל מסדי הנתונים באחסון המקומי של אפליקציה אחת. (Id3c89) - הוספנו ממשק API למיזוג מסמכים לפי מזהה (Iaecfa)
- חשוב לתמוך במשקלי המאפיינים כדי לסמן מאפיינים מסוימים כשמשתמשים ב-
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9) - מוסיפים את Person ו-
ContactPoint
כדי לשלוח שאילתה לגוף נתונים של אנשים ב-AppSearch
. (Ia58f9) - נוספ סוג מסמך חדש
ImageObject
לפי המודל של http://schema.org/ImageObject. (I6a0c0) - מוסיפים מחולק מילים של
VERBATIM
שמאפשר להוסיף מאפיינים בלי פרשנות על ידיAppSearch
. (I47bc0) - הוספנו את
RFC822_TOKENIZATION
כסוג של מחוללי תווים, שמאפשר ביצוע יצירת אסימונים של כתובות אימייל. I8a390 - מפעילים את החיפוש הגלובלי בתצוגת ניפוי הבאגים. (I51fb2)
שינויים ב-API
- הוסרו שיטות שמחזירות
ListenableFuture
ואין להן סיומת אסינכרונית. (I0515f) - הוספת היכולת להגדיר תחזיות לפי סיווג
Document
. (I94576) - הוספת שדות מ-
Thing
אלAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
ו-Person
(Id876c)
תיקוני באגים
- תמיכה מלאה בתכונות של Android 13 ב-appsearch-platform-storage (Ia8e61)
- פתרון בעיות בעקיפת שמות של סכימות ושדות פרטיים במהלך שימוש בירושה.
גרסה 1.1.0-alpha02
24 באוגוסט 2022
androidx.appsearch:appsearch-*:1.1.0-alpha02
משוחרר. גרסה 1.1.0-alpha02 מכילה את ההוספות האלה.
תכונות חדשות
- השלמנו את תהליך הבדיקה של Optimize מהר יותר באמצעות דחיסה של אינדקס במקום בנייה מחדש של אינדקס מאפס
- שינוי התג המקורי של הרישום ביומן מ-'icing' ל-'AppSearchIcing', רישום הודעות INFO ביומן כברירת מחדל
שינויים ב-API
- הוספה של אובייקט
PropertyPath
חדש לעבודה עם נתיבים ושיטותaddProjection
חדשות לאישורPropertyPath
. (I45588) - הוספת את
builtin:Thing
ל-AppSearch
סוגים מובנים (I55427) - מניעת שמות ריקים של נכסים ב-
GenericDocument
מוקדם יותר – בעבר הם נמנעו בזמן ההוספה לאינדקס, עכשיו הם נמנעים בזמןGenericDocument.Builder.build()
(I9e780)
תיקוני באגים
- הסרת פורמט מחרוזת מיותר כדי לשפר את ביצועי הציון של RELEVANCE
- חלוקה יעילה יותר לדפים כשנתקלים במסמכים שלא ניתן לקרוא או במסמכים שנמחקו
- הטמענו איסוף אשפה לשאילתות שננטשו
- תיקון התמיכה בהוספת מסמכים לאינדקס בתצוגת עץ ב-Docs. בעבר, המערכת התעלמה מ-indexNestedProperties. (Iae9a6)
תרומה חיצונית
- שיאה סמית: תיקון התמיכה באינדקס הפנימי עבור מסמכים. (Iae9a6)
גרסה 1.1.0-alpha01
15 ביוני 2022
androidx.appsearch:appsearch-*:1.1.0-alpha01
משוחרר. הגרסה 1.1.0-alpha01 פותחה בהסתעפות פרטית לפני השקה, ואין לה התחייבויות ציבוריות.
שינויים ב-API
- השם של כל השיטות שמחזירות את הערך
ListenableFuture
השתנה והוספה להם הסיומת Async. לדוגמה, השם שלgetSchema
השתנה ל-getSchemaAsync
. הגרסאות הקודמות הוצאו משימוש ויוסרו בגרסאות עתידיות.
תכונות חדשות
- הגרסה הראשונה של appsearch-builtin-types. הפרויקט הזה מכיל כמה סוגים מובְנים שמבוססים על schema.org, שיכולים להיות שימושיים ללקוחות במקום להגדיר סוגים משלהם לאובייקטים נפוצים. סוגי מודעות נוספים יתווספו בגרסאות עתידיות.
- אפשר להשתמש ב-
ShortcutAdapter
כדי להמיר מסמךAppSearch
ל-ShortcutInfoCompat
. כך ללקוחות יש דרך לשתף מסמכים שלAppSearch
עם Google באמצעות ספריית core-google-shortcuts - יכולת להשתמש בירושה עם
@Document
מחלקות. אי אפשר להחליף או לשנות שדות, אבל אפשר להוסיף שדות חדשים על ידי הרחבת כיתה עם הערה@Document
. - Observer API חדש שמאפשר ללקוחות להירשם לקבלת התראות כשיש שינויים בסוגי הפריטים שיש להם גישה אליהם, או כשמסמכים מהסוגים האלה מתווספים, משתנים או מוסרים. חשוב: ההטמעה הנוכחית מציגה התראות רק כשהאפליקציה פועלת. בשלב זה אין דרך לבדוק שינויים שהתרחשו בזמן שהאפליקציה הופסקה. לכן, לא כדאי להסתמך על ה-API הזה לצורך השלמות.
- ממשק API לניתוח נכסים שמאפשר לטפל ולבדוק באופן מלא את נתיבי הנכסים שמוחזרים על ידי
MatchInfo#getPropertyPath
. - ממשקי API גלובליים של
getById
ו-getSchema
לאחזור מסמכים וסכימות מאפליקציות אחרות שהעניקו לכם גישה. - היכולת לאחזר ב-
getSchema
את פרטי החשיפה של נתונים שיש לכם גישה אליהם - היכולת להעניק גישה לאפליקציות שיש להן הרשאה מסוימת ב-Android (מוגבלת לקבוצה צרה של הרשאות ברשימת ההיתרים)
- תמיכה ב-getters בסגנון
isFoo()
לשדות בוליאניים במעבד ההערות, בנוסף לסגנון הקודםhasFoo()
שנתמך - תמיכה בתכונות חדשות שמוגנות באמצעות
@RequiresFeature
. אפשר להשתמש ב-AppSearchSession#getFeatures
כדי לקבוע אילו תכונות נתמכות בקצה העורפי הנוכחי. - הסרת המגבלה של כ-13,000 אסימונים במסמכים ספציפיים
- אפשר להתאים תווים שאינם ASCII+ שאינם אלפאנומריים, כמו סמלי אמוג'י
תיקוני באגים
- תיקון באג שגרם ל-
SetSchema
להיכשל כשמבטלים את הגדרת ברירת המחדל של סוג לא תואם שמוטמע. - תיקונים לתמיכה מלאה בכיתות עם הערות
@AutoValue
שמשמשות ככיתות@Document
של AppSearch - תיקונים לקריסות מסוימות שקשורות לרשימות חוזרות של מחלקות מסמכים ובעיות אחרות
- תיקון באג שגרם לקריסה של חיפוש לפי קידומת בתנאים מסוימים
- תיקון באג קטן ב-
GetStorageInfo
שגרם להחזרת ערכים שגויים במקרה של כשלים ב-IO - פתרון בעיות ב-
BUSADDERR
בזמן קריאת מסמך - תיקון פגיעה ב-logcat שנגרמה על ידי הדפסה של טביעת אצבע לא מפורמטת
- תיקון שגיאות NPE שנגרמות כתוצאה מכשל ב-IO
- תיקון דליפת זיכרון ב-
GetSchemaType
, ב-Get
, ב-Delete
, ב-DeleteByNamespace
וב-DeleteBySchemaType
גרסה 1.0.0
גרסה 1.0.0-alpha04
3 בנובמבר 2021
androidx.appsearch:appsearch-*:1.0.0-alpha04
משוחרר. גרסה 1.0.0-alpha04 מכילה את התחייבויות אלה.
תכונות חדשות
- התלות של Guava ListenableFuture מתווספת באופן אוטומטי כתלות ב-API
שינויים ב-API
- כדי לספק מידע נוסף על כל התאמה, צריך להוסיף את Searchתוצאה#getSubmatchRange() ואת Searchresults#getSubmatch() . (I2fef6)
- הבהרה לגבי התיעוד בנושא יצירת טביעות אצבע של PackageIdentifier לשיתוף נתונים לפי packagename+certificate
תיקוני באגים
- תיקון קריסה אם המשתמש מנסה לאחזר דפי תוצאות אחרי סוף קבוצת התוצאות
- תיקון בעיה שבה מתבצעת שאילתה לכל מרחבי השמות אם סופקו רק מרחבי שמות לא חוקיים כמסנני שאילתות
- תיקון בעיה שבה כל מרחבי השמות הוסרו אם רק מרחבי שמות לא חוקיים סופקו כמסננים להסרה לפי שאילתה
- תוקנה בעיה שבה נתוני מסמכים גדולים מאוד הפסיקו להיכלל במדד אחרי נקודה מסוימת
- תוקנה בעיה שבה תהליך יצירת האסימונים גרם להשמטת קטעים עם תווים מספריים שאינם ASCII
- הוספת בדיקה לניסיונות אתחול שנכשלו ברצף כדי לעזור לצאת ממצב רע פוטנציאלי שמונעת אתחול מוצלח.
גרסה 1.0.0-alpha03
21 ביולי 2021
androidx.appsearch:appsearch-*:1.0.0-alpha03
משוחרר. גרסה 1.0.0-alpha03 כוללת את ההצהרות האלה.
תכונות חדשות
- השקת הקצה העורפי של אחסון הפלטפורמה כדי לאפשר ללקוחות להשתמש ב-AppSearch API עם השירות החדש
android.app.appsearch.AppSearchManager
שיושקו ב-Android S. פרטים נוספים זמינים במדריך למפתחים של AppSearch. - תמיכה במעבד אנוטציות (Annotation processor) ל-AutoValue
- הסרת המגבלה על הגודל המקסימלי של מאפיין מחרוזת יחידה
- פורמט אחסון חדש כדי לקצר את זמן האחזור של האינטראקציה הראשונה
- העברת נתונים פנימית חד-פעמית מפורמט אחסון ישן לפורמט אחסון חדש
תיקוני באגים
- אוכפים בצורה נכונה מגבלת מסמכים מקסימלית כשמוסיפים מסמכים חדשים
- תוקנה הקריסה במהלך יצירת AppSearchSession
- תוקנו באגים ב-SetSchema שלא זיהו מקרים מסוימים של אי-תאימות לאחור ואי-תאימות של אינדקס
גרסה 1.0.0-alpha02
30 ביוני 2021
התכונות androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
וגם androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
משוחררות. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.
תכונות חדשות
- תמיכה מלאה בשפות סינית, יפנית, קוריאנית ותאית
- הגודל הוקטן של
androidx.appsearch:appsearch-local-storage
- הסרת המגבלה על הגודל המקסימלי של נכסים חוזרים
- שימוש חוזר בבניינים
- שיפורים ב-
toString()
של אובייקטים מסוימים כדי להקל על ניפוי באגים - שיפורים בתיעוד של Javadoc
שינויים ב-API
- השם של
SearchResult#getMatches
שונה ל-SearchResult#getMatchInfos
- השם של
@Document.Int64Property
השתנה ל-@Document.LongProperty
תיקוני באגים
- שיפורים ותיקונים בחישוב של קטעי הטקסט של התוצאות
- תיקונים לבאגים באתחול של AppSearchSession
גרסה 1.0.0-alpha01
5 במאי 2021
התכונות androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
וגם androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
משוחררות. גרסה 1.0.0-alpha01 מכילה את ההצהרות האלה.
תכונות חדשות
AppSearch היא ספריית חיפוש לניהול נתונים מובְנים שמאוחסנים באופן מקומי, עם ממשקי API להוספה של נתונים לאינדקס ולאחזור נתונים באמצעות חיפוש טקסט מלא. אפשר להשתמש בו כדי ליצור למשתמשים יכולות חיפוש מותאמות אישית באפליקציה. הגרסה הראשונית היא 1.0.0-alpha01
.