AppSearch
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
11 בדצמבר 2024 | - | - | - | 1.1.0-alpha07 |
הצהרת יחסי תלות
כדי להוסיף תלות ב-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-alpha07
11 בדצמבר 2024
androidx.appsearch:appsearch-*:1.1.0-alpha07
משוחרר. גרסת 1.1.0-alpha07 כוללת את ההוספות האלה.
תכונות חדשות
- מוסיפים את ההערה
ExperimentalAppSearchApi
לממשקי API חדשים שעדיין לא התייצבו. (Ib09f4) - תמיכה באחסון ובשיתוף יעילים של נתוני blob בינאריים באמצעות
AppSearchSession#openBlobForWriteAsync
ושיטות קשורות - תמיכה בסינון תוצאות של שאילתות באמצעות ביטוי למתן ניקוד באמצעות הפונקציה
matchScoreExpression
(Id525a) - תמיכה בהעברת מחיקה ממסמך הורה למסמכי הצאצאים. (Ia032d)
- תמיכה ב-API לקביעת כמות הביטים להטמעה (quantization) כדי לשפר את ביצועי ההטמעה עם ירידה קלה באיכות. (Id8a07)
- תמיכה בהגבלת חיפושים למסמכים מסוימים באמצעות ה-API של
addFilterDocumentIds
ב-SearchSpec
. (I7c6f1)
שינויים ב-API
- מעבירים את פרטי סוג ההורה מ-
GenericDocument
אלSearchResult
. (I34a1d) - תמיכה בסוגי פעולות חדשים ב-API של
TakenAction
, כוללDismissAction
ו-ImpressionAction
. (I0c6c7) - נוספה סכימה מובנית חדשה של AppSearch
WebPage
. (I28127)
גרסה 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
כדי לתמוך בכיתות עם בוני נתונים (builders) במעבד ההערות. (Iec30a) - תמיכה בשליטה ברמת פירוט גבוהה יותר על המאפיינים של מסמך בתצוגת עץ שיתווספו לאינדקס. (Iec30a)
- תמיכה בסינון חיפושים לפי מאפייני מסמכים מסוימים. (Ib2659)
- תמיכה בהגדרות גלישה מפורטות יותר על ידי הרשאה לשימוש ב-OR וב-AND של הגדרות גלישה. (I0274b)
- תמיכה במתן גישה לנתונים לכל האפליקציות שיכולות לראות את האפליקציה הבעלים (חשיפה ציבורית). (I992e4)
- תמיכה באחזור רק תוצאות שיש בהן נתונים מאוכלסים בנכס מסוים. (I7d94f)
- תמיכה באחזור אנשי קשר ארגוניים בפרופיל האישי. (Idd587)
שינויים ב-API
- מוסיפים את הפרמטרים
indexableNestedPropertiesList
ו-inheritIndexableNestedPropertiesFromSuperclass
להערהDocument.DocumentProperty
של AppSearch כדי לאפשר הוספה לאינדקס של נתיבים ספציפיים של נכסים בתצוגת עץ. (Iec30a) - תמיכה ב-builder constructor ליצירת מכונות builder במעבד ההערות של
AppSearch
(I265c9) - עדכון מעבד האנוטציות של
AppSearch
כך שיתמוך בהגדרת סוגי הורה לפולימורפיזם (I06118) - נוספה שיטה
GetSchemaRequest
לניקוי הגדרות החשיפה (I38379) - תמיכה ב-
addParentType
ב-AppSearch לצורך פולימורפיזם (Ida14a) - הוספת ממשקי API לביטויים נוספים לדירוג (I5d9f4)
- הוספת API של
SearchAction
(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
ואין להן סיומת Async. (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)
תיקוני באגים
- הסרת עיצוב מיותר של מחרוזות כדי לשפר את הביצועים של ניקוד הרלוונטיות
- חלוקה יעילה יותר לדפים כשנתקלים במסמכים שלא ניתן לקרוא או במסמכים שנמחקו
- הטמענו איסוף אשפה לשאילתות שננטשו
- תיקון התמיכה בהוספת מסמכים לאינדקס בתצוגת עץ ב-Docs. בעבר, המערכת התעלמה מ-indexNestedProperties. (Iae9a6)
תרומה חיצונית
- שי בוזגלו: תיקון התמיכה בהוספת מסמכים לאינדקס בתצוגת עץ ב-Docs. (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 - תיקונים לחלק מהקריסות שקשורות לרשימות חוזרות של Document classes ובעיות אחרות
- תיקון באג שגרם לקריסה של חיפוש לפי קידומת בתנאים מסוימים
- תיקון באג קטן ב-
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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תכונות חדשות
- תלות ב-Guava ListenableFuture שמובאת באופן אוטומטי כתלות ב-API
שינויים ב-API
- מוסיפים את SearchResult#getSubmatchRange() ואת SearchResult#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
.