AppSearch

AppSearch, un motor de búsqueda estructurado y de indexación en el dispositivo, se envió como un APEX en Android 12. En Android 13, AppSearch se envía como un módulo de Mainline.

Motivación

Para garantizar una implementación coherente de AppSearch en todo el ecosistema de Android y admitir la capacidad de actualización.

Beneficios:

  • Permite la actualización de AppSearch a través de Play Store
  • Asegúrate de cumplir con 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 con fines de optimización del rendimiento).
  • Una implementación de almacenamiento rápida y centrada en los dispositivos móviles con bajo uso de E/S
  • Indexación y consultas altamente eficientes en grandes conjuntos de datos
  • Compatibilidad con diferentes 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.

Arquitectura del módulo de AppSearch

Figura 1: Arquitectura del módulo de AppSearch

Límite del módulo

  • AppSearch Mainline Apex: com.android.appsearch

    • Plataforma de la API de AppSearch (Java)
      • Ubicación del código: frameworks/base/apex/appsearch/framework
      • Proceso: BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • Ubicación del código: frameworks/base/apex/appsearch/service
      • Proceso: system_server
    • Biblioteca nativa de Icing (C++)
      • Ubicación del código: external/icing
      • Proceso: system_server
  • Interfaz/implementaciones de 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.