AppSearch

AppSearch، یک موتور جستجوی ساختاریافته و نمایه‌سازی درون دستگاهی، در اندروید ۱۲ به عنوان یک APEX عرضه شد. در اندروید ۱۳، AppSearch به عنوان یک ماژول Mainline عرضه می‌شود.

انگیزه

برای اطمینان از پیاده‌سازی مداوم AppSearch در سراسر اکوسیستم اندروید و پشتیبانی از به‌روزرسانی.

مزایا:

  • اجازه دهید AppSearch از طریق فروشگاه Play به‌روزرسانی شود
  • اطمینان از انطباق با الزامات AppSearch CDD

جزئیات

  • داده‌های جمع‌آوری‌شده از طریق APIهای AppSearch روی دستگاه کاربر باقی می‌مانند (به‌جز داده‌های معیارهای تجمیع‌شده که برای اهداف بهینه‌سازی عملکرد استفاده می‌شوند).
  • پیاده‌سازی ذخیره‌سازی سریع و مناسب برای موبایل با مصرف ورودی/خروجی کم
  • ایندکس‌گذاری و پرس‌وجوی بسیار کارآمد بر روی مجموعه داده‌های بزرگ
  • پشتیبانی از چند زبان، مانند انگلیسی، اسپانیایی و CJKT
  • رتبه‌بندی مرتبط بودن و امتیازدهی استفاده

معماری AppSearch

شکل 1 مفاهیم AppSearch و همچنین مرز فرآیند سرویس سیستم را برجسته می‌کند.

معماری ماژول 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
  • رابط/پیاده‌سازی‌های HAL (سی‌پلاس‌پلاس)

    • ناموجود

به نمودار معماری ماژول در شکل ۱ مراجعه کنید.

قالب بسته

توابع اصلی این ماژول در بسته APEX com.android.appsearch گنجانده شده است.

وابستگی‌ها

  • لیبیکو
  • libprotobuf-cpp-lite
  • ان دی کی

سفارشی‌سازی

این ماژول قابلیت شخصی‌سازی ندارد.