AppSearch

AppSearch, czyli silnik indeksowania i wyszukiwania strukturalnego na urządzeniu, został dostarczony jako APEX w Androidzie 12. W Androidzie 13 AppSearch jest dostarczany jako moduł Mainline.

Motywacja

Aby zapewnić spójne wdrożenie AppSearch w ekosystemie Androida i umożliwić aktualizacje.

Zalety:

  • Zezwalanie na aktualizowanie AppSearch w Sklepie Play
  • Zapewnianie zgodności z wymaganiami CDD dotyczącymi wyszukiwarki

Szczegóły

  • Dane zbierane za pomocą interfejsów AppSearch API pozostają na urządzeniu użytkownika (z wyjątkiem zagregowanych danych o skuteczności, które są używane do optymalizacji wydajności).
  • Szybka implementacja pamięci masowej zoptymalizowana pod kątem urządzeń mobilnych i o niskim wykorzystaniu operacji wejścia-wyjścia
  • Wysoce wydajne indeksowanie i wykonywanie zapytań dotyczących dużych zbiorów danych
  • obsługa wielu języków, np. angielskiego, hiszpańskiego i chińskiego, japońskiego, koreańskiego i tajskiego;
  • Ranking trafności i ocena wykorzystania

Architektura wyszukiwania w aplikacjach

Rysunek 1 przedstawia koncepcje AppSearch oraz granicę procesu usługi systemowej.

Architektura modułu AppSearch

Rysunek 1. Architektura modułu AppSearch

Granica modułu

  • AppSearch Mainline Apex - com.android.appsearch

    • AppSearch API surface (Java)
      • Lokalizacja kodu: frameworks/base/apex/appsearch/framework
      • Proces: BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • Lokalizacja kodu: frameworks/base/apex/appsearch/service
      • Proces: system_server
    • Biblioteka Icing Native (C++)
      • Lokalizacja kodu: external/icing
      • Proces: system_server
  • Interfejsy/implementacje HAL (C++)

    • Nie dotyczy

Zapoznaj się z diagramem architektury modułu na rysunku 1.

Format pakietu

Główne funkcje tego modułu są zawarte w pakiecie APEX com.android.appsearch.

Zależności

  • libicu
  • libprotobuf-cpp-lite
  • ndk

Dostosowywanie

Tego modułu nie można dostosować.