AppSearch — это локальная система индексации и структурированного поиска, которая была представлена как APEX в Android 12. В Android 13 AppSearch представлен как основной модуль.
Мотивация
Обеспечить единообразную реализацию AppSearch в экосистеме Android и поддержку обновляемости.
Преимущества:
- Разрешить обновление AppSearch через Play Store
- Обеспечить соответствие требованиям AppSearch CDD
Подробности
- Данные, собранные через API AppSearch, остаются на устройстве пользователя (за исключением агрегированных данных показателей, которые используются для оптимизации производительности).
- Быстрая, ориентированная в первую очередь на мобильные устройства реализация хранилища с низким использованием ввода-вывода
- Высокоэффективное индексирование и выполнение запросов по большим наборам данных
- Поддержка нескольких языков, таких как английский, испанский и CJKT
- Рейтинг релевантности и оценка использования
Архитектура AppSearch
На рисунке 1 показаны концепции AppSearch, а также границы процесса системной службы.

Рисунок 1. Архитектура модуля AppSearch
Граница модуля
- AppSearch Mainline Apex — - com.android.appsearch-  Поверхность API AppSearch (Java)-  Расположение кода: frameworks/base/apex/appsearch/framework
- Процесс: BOOT_CLASS_PATH
 
-  Расположение кода: 
-  AppSearchManagerService (Java)-  Расположение кода: frameworks/base/apex/appsearch/service
- Процесс: system_server
 
-  Расположение кода: 
-  Собственная библиотека Icing (C++)-  Расположение кода: external/icing
- Процесс: system_server
 
-  Расположение кода: 
 
-  Поверхность API AppSearch (Java)
- Интерфейс/реализации HAL (C++) - Н/Д
 
См. схему архитектуры модуля на рисунке 1.
Формат упаковки
 Основные функции этого модуля включены в пакет APEX com.android.appsearch .
Зависимости
- либику
- libprotobuf-cpp-lite
- ндк
Настройка
Этот модуль не подлежит настройке.
