AppSearch

AppSearch, eine On-Device-Suchmaschine für die Indexierung und strukturierte Suche, wurde in Android 12 als APEX ausgeliefert. In Android 13 wird AppSearch als Mainline-Modul ausgeliefert.

Motivation

Eine konsistente Implementierung von AppSearch im gesamten Android-Ökosystem gewährleisten und die Aktualisierbarkeit unterstützen.

Vorteile:

  • AppSearch über den Google Play Store aktualisieren
  • Compliance mit den AppSearch-CDD-Anforderungen gewährleisten

Details

  • Über AppSearch-APIs erhobene Daten verbleiben auf dem Gerät des Nutzers (mit Ausnahme aggregierter Messwertdaten, die zur Leistungsoptimierung verwendet werden).
  • Schnelle, mobile-first-Speicherimplementierung mit geringer I/O-Nutzung
  • Hocheffiziente Indexierung und Abfrage großer Datasets
  • Unterstützung mehrerer Sprachen, z. B. Englisch, Spanisch und CJKT
  • Relevanzranking und Nutzungsbewertung

AppSearch-Architektur

Abbildung 1 zeigt AppSearch-Konzepte sowie die Prozessgrenze des Systemdienstes.

AppSearch-Modularchitektur

Abbildung 1 : AppSearch-Modularchitektur

Modulgrenze

  • AppSearch Mainline Apex – com.android.appsearch

    • AppSearch-API-Oberfläche (Java)
      • Code-Speicherort: frameworks/base/apex/appsearch/framework
      • Prozess: BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • Code-Speicherort: frameworks/base/apex/appsearch/service
      • Prozess: system_server
    • Native Icing-Bibliothek (C++)
      • Code-Speicherort: external/icing
      • Prozess: system_server
  • HAL-Schnittstelle/Implementierungen (C++)

Weitere Informationen finden Sie im Modularchitekturdiagramm in Abbildung 1.

Paketformat

Die Hauptfunktionen dieses Moduls sind im APEX-Paket com.android.appsearch enthalten.

Abhängigkeiten

  • libicu
  • libprotobuf-cpp-lite
  • ndk

Anpassung

Dieses Modul kann nicht angepasst werden.