החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
AppSearch
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
AppSearch הוא מנוע חיפוש מובנה ומנוהל באמצעות אינדקס במכשיר, ששוחרר כ-APEX ב-Android 12. ב-Android 13, AppSearch מופיע כמודול Mainline.
מוטיבציה
כדי להבטיח הטמעה עקבית של AppSearch בסביבת Android ולתמוך ביכולת לעדכן את הקוד.
יתרונות:
- מתן הרשאה לעדכון AppSearch דרך חנות Play
- מוודאים שהאפליקציה עומדת בדרישות ה-CDD של AppSearch
פרטים
- הנתונים שנאספים דרך ממשקי ה-API של AppSearch נשארים במכשיר של המשתמש (למעט נתוני מדדים מצטברים, שמשמשים למטרות אופטימיזציה של הביצועים).
- הטמעה מהירה של אחסון שמתאימה במיוחד לנייד, עם שימוש נמוך ב-I/O
- הוספה של נתונים לאינדקס ושליחת שאילתות יעילות במיוחד על קבוצות נתונים גדולות
- תמיכה במספר שפות, כמו אנגלית, ספרדית ו-CJKT
- דירוג רלוונטיות וסימון שימוש
הארכיטקטורה של AppSearch
באיור 1 מודגשים המושגים של AppSearch וגם גבולות התהליך של שירות המערכת.
איור 1. הארכיטקטורה של המודול של AppSearch
גבול המודול
אפשר לעיין בתרשים הארכיטקטורה של המודול באיור 1.
הפונקציות העיקריות של המודול הזה כלולות בחבילת APEX com.android.appsearch
.
יחסי תלות
- libicu
- libprotobuf-cpp-lite
- ndk
התאמה אישית
לא ניתן להתאים אישית את המודול הזה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# AppSearch, an on-device indexing and structured search engine, was shipped as\nan APEX in Android 12. In Android\n13, AppSearch is shipped as a Mainline module.\n\nMotivation\n----------\n\nTo ensure a consistent implementation of AppSearch across the Android ecosystem\nand support updateability.\n\nBenefits:\n\n- Allow updating AppSearch via Play Store\n- Ensure compliance with the AppSearch CDD requirements\n\nDetails\n-------\n\n- Data collected through AppSearch APIs remains on the user's device (except aggregated metrics data, which is used for performance optimization purposes).\n- A fast, mobile-first storage implementation with low I/O use\n- Highly efficient indexing and querying over large data sets\n- Multi-language support, such as English, Spanish and CJKT\n- Relevance ranking and usage scoring\n\nAppSearch architecture\n----------------------\n\nFigure 1 highlights AppSearch concepts as well as the system service\nprocess boundary.\n\n**Figure 1.** AppSearch module architecture\n\nModule boundary\n---------------\n\n- AppSearch Mainline Apex - `com.android.appsearch`\n\n - AppSearch API surface (Java)\n - Code Location: `frameworks/base/apex/appsearch/framework`\n - Process: \u003cvar translate=\"no\"\u003eBOOT_CLASS_PATH\u003c/var\u003e\n - AppSearchManagerService (Java)\n - Code Location: `frameworks/base/apex/appsearch/service`\n - Process: system_server\n - Icing Native library (C++)\n - Code Location: `external/icing`\n - Process: system_server\n- HAL Interface/Implementations (C++)\n\n - N/A\n\nRefer to the module architecture diagram in Figure 1.\n\nPackage format\n--------------\n\nThe main functions of this module are included in the APEX package\n`com.android.appsearch`.\n\nDependencies\n------------\n\n- libicu\n- libprotobuf-cpp-lite\n- ndk\n\nCustomization\n-------------\n\nThis module is not customizable."]]