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 garantir une implémentation cohérente d'AppSearch dans l'écosystème Android et prendre en charge la possibilité de mise à jour.

Avantages :

  • Autoriser la mise à jour d'AppSearch via le Play Store
  • Assurer la conformité avec 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 hautement 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

  • AppSearch Mainline Apex : com.android.appsearch

    • Surface de l'API AppSearch (Java)
      • Code de zone géographique: frameworks/base/apex/appsearch/framework
      • Processus: BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • Code de zone géographique: frameworks/base/apex/appsearch/service
      • Processus: system_server
    • Bibliothèque native Icing (C++)
      • Code de zone géographique: 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 fonctions principales 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.