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.
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
- Lokalizacja kodu:
- AppSearchManagerService (Java)
- Lokalizacja kodu:
frameworks/base/apex/appsearch/service
- Proces: system_server
- Lokalizacja kodu:
- Biblioteka Icing Native (C++)
- Lokalizacja kodu:
external/icing
- Proces: system_server
- Lokalizacja kodu:
- AppSearch API surface (Java)
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ć.