オンデバイスのインデックス作成および構造化検索エンジンである AppSearch は、Android 12 で APEX として出荷されました。Android 13 では、AppSearch はメインライン モジュールとして出荷されました。
動機
Android エコシステム全体で AppSearch の一貫した実装を確保し、更新可能性をサポートするため。
利点:
- Play ストア経由の AppSearch の更新を許可する
- AppSearch CDD 要件への準拠を確保する
詳細
- AppSearch API を通じて収集されたデータは、ユーザーのデバイスに残ります (パフォーマンスの最適化の目的で使用される集計されたメトリック データを除く)。
- I/O 使用量が少ない高速なモバイル ファースト ストレージの実装
- 大規模なデータ セットに対する非常に効率的なインデックス作成とクエリ
- 英語、スペイン語、CJKT などの多言語サポート
- 関連性のランキングと使用状況のスコアリング
AppSearch アーキテクチャ
図 1 は、AppSearch の概念とシステム サービス プロセスの境界を示しています。
図 1. AppSearch モジュールのアーキテクチャ
モジュール境界
AppSearch Mainline Apex -
com.android.appsearch
- AppSearch API サーフェス (Java)
- コードの場所:
frameworks/base/apex/appsearch/framework
- プロセス: BOOT_CLASS_PATH
- コードの場所:
- AppSearchManagerService (Java)
- コードの場所:
frameworks/base/apex/appsearch/service
- プロセス: system_server
- コードの場所:
- Icing ネイティブ ライブラリ (C++)
- コードの場所:
external/icing
- プロセス: system_server
- コードの場所:
- AppSearch API サーフェス (Java)
HAL インターフェイス/実装 (C++)
- なし
図 1 のモジュール アーキテクチャ図を参照してください。
パッケージ形式
このモジュールの主な機能は、APEX パッケージcom.android.appsearch
に含まれています。
依存関係
- リビク
- libprotobuf-cpp-lite
- ndk
カスタマイズ
このモジュールはカスタマイズできません。