AppSearch

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.

Architecture du module AppSearch

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
    • AppSearchManagerService (Java)
      • Emplacement du code: frameworks/base/apex/appsearch/service
      • Processus: system_server
    • Bibliothèque Icing native (C++)
      • Emplacement du code: external/icing
      • Processus: system_server
  • 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.