AppSearch, un motor de búsqueda estructurado y de indexación en el dispositivo, se lanzó como un APEX en Android 12. En Android 13, AppSearch se incluye como un módulo de Mainline.
Motivación
Garantizar una implementación coherente de AppSearch en todo el ecosistema de Android y admitir la capacidad de actualización
Beneficios:
- Permite actualizar AppSearch a través de Play Store
- Garantiza el cumplimiento de los requisitos del CDD de AppSearch
Detalles
- Los datos recopilados a través de las APIs de AppSearch permanecen en el dispositivo del usuario (excepto los datos de métricas agregadas, que se usan para optimizar el rendimiento).
- Una implementación de almacenamiento rápida y que prioriza los dispositivos móviles con un uso de E/S bajo
- Indexación y consultas altamente eficientes en grandes conjuntos de datos
- Compatibilidad con varios idiomas, como inglés, español y CJKT
- Clasificación de relevancia y puntuación de uso
Arquitectura de AppSearch
En la Figura 1, se destacan los conceptos de AppSearch, así como el límite del proceso del servicio del sistema.
Figura 1: Arquitectura del módulo de AppSearch
Límite del módulo
Apex de Mainline de AppSearch:
com.android.appsearch
- Superficie de la API de AppSearch (Java)
- Ubicación del código:
frameworks/base/apex/appsearch/framework
- Proceso: BOOT_CLASS_PATH
- Ubicación del código:
- AppSearchManagerService (Java)
- Ubicación del código:
frameworks/base/apex/appsearch/service
- Proceso: system_server
- Ubicación del código:
- Biblioteca nativa de Icing (C++)
- Ubicación del código:
external/icing
- Proceso: system_server
- Ubicación del código:
- Superficie de la API de AppSearch (Java)
Interfaces y HAL (C++)
- N/A
Consulta el diagrama de arquitectura del módulo en la Figura 1.
Formato del paquete
Las funciones principales de este módulo se incluyen en el paquete de APEX com.android.appsearch
.
Dependencias
- libicu
- libprotobuf-cpp-lite
- ndk
Personalización
Este módulo no se puede personalizar.