AppSearch، یک موتور جستجوی ساختاریافته و نمایهسازی درون دستگاهی، در اندروید ۱۲ به عنوان یک APEX عرضه شد. در اندروید ۱۳، AppSearch به عنوان یک ماژول Mainline عرضه میشود.
انگیزه
برای اطمینان از پیادهسازی مداوم AppSearch در سراسر اکوسیستم اندروید و پشتیبانی از بهروزرسانی.
مزایا:
- اجازه دهید AppSearch از طریق فروشگاه Play بهروزرسانی شود
- اطمینان از انطباق با الزامات AppSearch CDD
جزئیات
- دادههای جمعآوریشده از طریق APIهای AppSearch روی دستگاه کاربر باقی میمانند (بهجز دادههای معیارهای تجمیعشده که برای اهداف بهینهسازی عملکرد استفاده میشوند).
- پیادهسازی ذخیرهسازی سریع و مناسب برای موبایل با مصرف ورودی/خروجی کم
- ایندکسگذاری و پرسوجوی بسیار کارآمد بر روی مجموعه دادههای بزرگ
- پشتیبانی از چند زبان، مانند انگلیسی، اسپانیایی و CJKT
- رتبهبندی مرتبط بودن و امتیازدهی استفاده
معماری AppSearch
شکل 1 مفاهیم AppSearch و همچنین مرز فرآیند سرویس سیستم را برجسته میکند.

شکل 1. معماری ماژول AppSearch
مرز ماژول
AppSearch خط اصلی Apex -
com.android.appsearch- سطح API اپسرچ (جاوا)
- محل کد:
frameworks/base/apex/appsearch/framework - فرآیند: BOOT_CLASS_PATH
- محل کد:
- سرویس مدیریت جستجوی برنامه (جاوا)
- محل کد:
frameworks/base/apex/appsearch/service - فرآیند: system_server
- محل کد:
- کتابخانه بومی Icing (C++)
- محل کد:
external/icing - فرآیند: system_server
- محل کد:
- سطح API اپسرچ (جاوا)
رابط/پیادهسازیهای HAL (سیپلاسپلاس)
- ناموجود
به نمودار معماری ماژول در شکل ۱ مراجعه کنید.
قالب بسته
توابع اصلی این ماژول در بسته APEX com.android.appsearch گنجانده شده است.
وابستگیها
- لیبیکو
- libprotobuf-cpp-lite
- ان دی کی
سفارشیسازی
این ماژول قابلیت شخصیسازی ندارد.