חיפוש אפליקציות

AppSearch היא ספרייה לחיפוש במכשיר שמשמשת לניהול נתונים מובנים המאוחסנים באופן מקומי, עם ממשקי API להוספת נתונים לאינדקס ולאחזור נתונים באמצעות חיפוש טקסט מלא. אפשר להשתמש בה כדי לפתח יכולות חיפוש מותאמות אישית בתוך האפליקציה משתמשים.
העדכון האחרון גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
7 באוגוסט 2024 - - - 1.1.0-alpha04

הצהרה על יחסי תלות

כדי להוסיף תלות ב-AppSearch, צריך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

מגניב

dependencies {
    def appsearch_version = "1.1.0-alpha04"

    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-alpha04"

    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. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.1

גרסה 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 תאפשר לך לתמוך בכיתות ב-builder במעבד ההערות. (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)
  • הוספת אדם ו-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
  • עימוד יעיל יותר כשנתקלים במסמכים לא קריאים או שנמחקו
  • הטמעת איסוף אשפה לשאילתות שננטשו
  • תיקון התמיכה הפנימית בהוספה לאינדקס של מסמכים. בעבר המערכת התעלמה מ-indexedNestproperty. (Iae9a6)

תרומה חיצונית

  • שיאה סמית: תיקון התמיכה באינדקס הפנימי עבור מסמכים. (Iae9a6)

גרסה 1.1.0-alpha01

15 ביוני 2022

androidx.appsearch:appsearch-*:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 פותחה בהסתעפות פרטית בטרום-השקה, ללא התחייבות ציבורית.

שינויים ב-API

  • השמות של כל השיטות שמחזירות את ListenableFuture השתנו והסיומת שלהם היא אסינכרונית. לדוגמה, השם של getSchema השתנה ל-getSchemaAsync. הגרסאות הקודמות הוצאו משימוש ויוסרו בגרסאות עתידיות.

תכונות חדשות

  • גרסה ראשונה של סוגים מובנים של appsearch. הפרויקט הזה מכיל כמה סוגים מובנים שמבוססים על schema.org, שיכול להיות שללקוחות יהיה נוח להשתמש בהם במקום להגדיר סוגים משלהם לאובייקטים נפוצים. סוגים נוספים יתווספו בגרסאות עתידיות.
  • יכולת להשתמש ב-ShortcutAdapter כדי להמיר מסמך AppSearch ל-ShortcutInfoCompat. השירות מאפשר ללקוחות לשתף מסמכי AppSearch עם Google באמצעות ספריית קיצורי הדרך Core-google
  • יכולת להשתמש בירושה עם @Document מחלקות. אי אפשר להחליף או לשנות שדות, אבל אפשר להוסיף שדות חדשים על ידי הרחבת כיתה שנוספה לה הערות ב-@Document.
  • ממשק API חדש של Observer שמאפשר ללקוחות להירשם לקבלת התראות בכל פעם שיש להם גישה לשינויים או כשמוסיפים, משנים או מסירים מסמכים מסוגים אלה. חשוב: ההטמעה הנוכחית מציגה התראות רק כשהאפליקציה פועלת. אין כרגע דרך לבדוק את השינויים שהתרחשו בזמן שהאפליקציה הייתה בשימוש. לפיכך, אין להסתמך על ה-API הזה לשלמותו.
  • ממשק ה-API של מנתח הנכס שמאפשר לטפל בכל נתיבי הנכסים שהוחזרו על ידי MatchInfo#getPropertyPath ולבדוק אותם.
  • ממשק API גלובלי של getById ו-getSchema גלובלי לאחזור מסמכים וסכימות מאפליקציות אחרות שהעניקו לך הרשאות גישה.
  • יכולת לאחזר פרטי חשיפה ב-getSchema עבור נתונים שיש לך גישה אליהם
  • היכולת להעניק הרשאות גישה לאפליקציות שיש להן הרשאת Android מסוימת (מוגבלות לקבוצה מצומצמת של הרשאות שכלולות ברשימת ההיתרים)
  • תמיכה בקבלים בסגנון 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 Results#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 מכילה את התחייבויות אלה.

תכונות חדשות

  • גרסה של הקצה העורפי של Platform Storage כדי לאפשר ללקוחות להשתמש ב-AppSearch API עם השירות android.app.appsearch.AppSearchManager החדש שמושק ב-Android S. לפרטים נוספים, אפשר לעיין במדריך למפתחים של AppSearch.
  • תמיכה של מעבד הערות עבור 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.