AppSearch, un moteur de recherche structuré et d'indexation sur l'appareil, a été publié en tant qu'APEX dans Android 12. Dans Android 13, AppSearch est fourni en tant que module principal.
Motivation
Pour assurer une implémentation cohérente d'AppSearch dans l'écosystème Android et permettre la mise à jour.
Avantages :
- Autoriser la mise à jour d'AppSearch via le Play Store
- Assurez-vous de respecter les exigences de la CDD AppSearch
Détails
- Les données collectées via les API AppSearch restent sur l'appareil de l'utilisateur (à l'exception des données de métriques agrégées, qui sont utilisées à des fins d'optimisation des performances).
- Implémentation de stockage rapide et mobile first avec une utilisation faible des E/S
- Indexation et interrogation efficaces sur de grands ensembles de données
- Compatibilité multilingue, par exemple en anglais, en espagnol et en chinois traditionnel
- Classement de la pertinence et évaluation de l'utilisation
Architecture d'AppSearch
La figure 1 met en évidence les concepts AppSearch ainsi que la limite du processus de service système.
Figure 1 : Architecture du module AppSearch
Limite du module
Apex principal AppSearch -
com.android.appsearch
- Surface de l'API AppSearch (Java)
- Emplacement du code:
frameworks/base/apex/appsearch/framework
- Processus: BOOT_CLASS_PATH
- Emplacement du code:
- AppSearchManagerService (Java)
- Emplacement du code:
frameworks/base/apex/appsearch/service
- Processus: system_server
- Emplacement du code:
- Bibliothèque Icing native (C++)
- Emplacement du code:
external/icing
- Processus: system_server
- Emplacement du code:
- Surface de l'API AppSearch (Java)
Interface/implémentations HAL (C++)
- N/A
Reportez-vous au schéma de l'architecture du module de la figure 1.
Format du package
Les principales fonctions de ce module sont incluses dans le package APEX com.android.appsearch
.
Dépendances
- Libicu
- libprotobuf-cpp-lite
- ndk
Personnalisation
Ce module n'est pas personnalisable.