AppSearch

AppSearch 是一種裝置上索引和結構化搜尋引擎,在 Android 12 中作為 APEX 提供。在 Android 13 中,AppSearch 作為 Mainline 模組提供。

動機

確保 AppSearch 在整個 Android 生態系統中的一致實施並支援可更新性。

好處:

  • 允許透過 Play 商店更新 AppSearch
  • 確保符合 AppSearch CDD 要求

細節

  • 透過 AppSearch API 收集的資料保留在使用者的裝置上(用於效能最佳化目的的聚合指標資料除外)。
  • 快速、行動優先的儲存實現,I/O 使用率低
  • 對大數據集進行高效率索引和查詢
  • 多語言支持,如英語、西班牙語、中日韓對照
  • 相關性排名和使用評分

應用程式搜尋架構

圖 1 突顯了 AppSearch 概念以及系統服務流程邊界。

AppSearch模組架構

圖 1. AppSearch 模組架構

模組邊界

  • AppSearch 主線 Apex - com.android.appsearch

    • AppSearch API 介面 (Java)
      • 程式碼位置: frameworks/base/apex/appsearch/framework
      • 進程: BOOT_CLASS_PATH
    • 應用程式搜尋管理員服務 (Java)
      • 程式碼位置: frameworks/base/apex/appsearch/service
      • 行程:system_server
    • 結冰本機函式庫 (C++)
      • 代碼位置: external/icing
      • 行程:system_server
  • HAL 介面/實作 (C++)

    • 不適用

模組架構圖參見圖1。

封裝格式

此模組的主要功能包含在 APEX 套件com.android.appsearch中。

依賴關係

  • 利比庫
  • libprotobuf-cpp-lite
  • 恩德克

客製化

該模組不可定制。