بحث التطبيقات

AppSearch هي مكتبة بحث على الجهاز لإدارة البيانات المنظَّمة المخزَّنة محليًا، بالإضافة إلى واجهات برمجة تطبيقات لفهرسة البيانات واسترداد البيانات باستخدام البحث في النص الكامل. يمكنك استخدامها لإنشاء إمكانيات بحث مخصصة داخل التطبيق للمستخدمين.
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
24 أيار (مايو) 2023 - - - 1.1.0-alpha03

تعريف التبعيات

لإضافة تبعية على AppSearch، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven الذي يضم أدوات Google للحصول على مزيد من المعلومات.

أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle لتطبيقك أو وحدتك:

رائع

dependencies {
    def appsearch_version = "1.1.0-alpha03"

    implementation "androidx.appsearch:appsearch:$appsearch_version"
    // Use kapt instead of annotationProcessor if writing Kotlin classes
    annotationProcessor "androidx.appsearch:appsearch-compiler:$appsearch_version"

    implementation "androidx.appsearch:appsearch-local-storage:$appsearch_version"
    // PlatformStorage is compatible with Android 12+ devices, and offers additional features
    // to LocalStorage.
    implementation "androidx.appsearch:appsearch-platform-storage:$appsearch_version"
}

Kotlin

dependencies {
    val appsearch_version = "1.1.0-alpha03"

    implementation("androidx.appsearch:appsearch:$appsearch_version")
    // Use annotationProcessor instead of kapt if writing Java classes
    kapt("androidx.appsearch:appsearch-compiler:$appsearch_version")

    implementation("androidx.appsearch:appsearch-local-storage:$appsearch_version")
    // PlatformStorage is compatible with Android 12+ devices, and offers additional features
    // to LocalStorage.
    implementation("androidx.appsearch:appsearch-platform-storage:$appsearch_version")
}

للمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على مقالة إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء عدد جديد

راجع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.

الإصدار 1.1

الإصدار 1.1.0-alpha03

24 أيار (مايو) 2023

تم إصدار "androidx.appsearch:appsearch-*:1.1.0-alpha03". يحتوي الإصدار 1.1.0-alpha03 على هذه الالتزامات.

الميزات الجديدة

  • دعم واجهة برمجة تطبيقات الاستعلام المتقدمة، وواجهة برمجة التطبيقات للنتائج المتقدمة، والبحث الرقمي. (I02d48)
  • إضافة واجهة برمجة التطبيقات LocalStorage.createGlobalSearchSession للبحث في جميع قواعد البيانات ضمن مساحة التخزين المحلية لتطبيق واحد (Id3c89)
  • تمت إضافة واجهة برمجة تطبيقات لدمج المستندات حسب رقم التعريف (Iaecfa).
  • عند استخدام RANKING_STRATEGY_RELEVANCE_SCORING، تكون القيم التقديرية الخاصة بالخاصية من أجل وضع علامة على خصائص معيّنة. (I069b9)
  • أضِف "شخص" و"ContactPoint" لطلب البحث عن مجموعة الأشخاص في AppSearch. (Ia58f9)
  • تمت إضافة نوع المستند الجديد ImageObject الذي تم تصميمه على غرار http://schema.org/ImageObject. (I6a0c0)
  • يمكنك إضافة رمز مميّز لـ VERBATIM يسمح بإضافة السمات بدون تفسير من قِبل AppSearch. (I47bc0)
  • تمت إضافة RFC822_TOKENIZATION كنوع أداة إنشاء الرموز المميّزة، ما يتيح إنشاء رموز مميّزة لعناوين البريد الإلكتروني. (I8a390)
  • تفعيل البحث العام في عرض تصحيح الأخطاء. (I51fb2)

تغييرات واجهة برمجة التطبيقات

  • الطرق التي تمت إزالتها تعرِض ListenableFuture ولا تحتوي على لاحقة غير متزامنة (I0515f)
  • إضافة إمكانية ضبط التوقعات حسب فئة Document (I94576)
  • إضافة حقول من Thing إلى Alarm وAlarmInstance وTimer وStopwatch وStopwatchLap وContactPoint وPerson (Id876c)

إصلاح الأخطاء

  • التوافق الكامل مع ميزات Android 13 في مساحة تخزين التطبيق على النظام الأساسي (Ia8e61)
  • حل المشاكل المتعلّقة بإلغاء أسماء المخططات والحقول الخاصة عند استخدام الاكتساب.

الإصدار 1.1.0-alpha02

24 آب (أغسطس) 2022

تم إصدار "androidx.appsearch:appsearch-*:1.1.0-alpha02". يحتوي الإصدار 1.1.0-alpha02 على هذه الالتزامات.

الميزات الجديدة

  • تسريع عملية "أدوات تحسين الأداء من Google" باستخدام ضغط الفهرس بدلاً من إعادة إنشاء الفهرس من البداية
  • تم تغيير علامة التسجيل الأصلي من "icing" إلى "AppSearchIcing"، يمكنك تسجيل رسائل INFO تلقائيًا.

تغييرات واجهة برمجة التطبيقات

  • إضافة كائن PropertyPath جديد للعمل مع المسارات وطرق addProjection جديدة لقبول PropertyPath (I45588)
  • تمت إضافة builtin:Thing إلى AppSearch نوع مضمَّن (I55427).
  • سيتم منع أسماء المواقع الإلكترونية الفارغة في GenericDocument في وقت أقرب، فقد تم منعها في وقت سابق في وقت الفهرسة، أما الآن فقد تم منعها في وقت واحد (GenericDocument.Builder.build()) (I9e780).

إصلاح الأخطاء

  • تمت إزالة تنسيق السلسلة غير الضروري لتحسين أداء نقاط مدى الأهمية.
  • تقسيم النتائج على عدّة صفحات بشكل أكثر كفاءة عند ظهور مستندات محذوفة أو غير قابلة للقراءة
  • تم تنفيذ جمع البيانات غير المرغوب فيها لطلبات البحث التي تم تجاهلها
  • إصلاح إتاحة الفهرسة المتداخلة للمستندات. في السابق، تم تجاهل indexNestedProperties. (Iae9a6)

المساهمة الخارجية

  • Shea Smith: إصلاح دعم الفهرسة المتداخلة للمستندات. (Iae9a6)

الإصدار 1.1.0-alpha01

15 حزيران (يونيو) 2022

تم إصدار "androidx.appsearch:appsearch-*:1.1.0-alpha01". تم تطوير الإصدار 1.1.0-alpha01 في فرع خاص قبل الإصدار وليس له التزامات عامة.

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية جميع الطرق التي تعرض الخطأ ListenableFuture لتصبح اللاحقة غير المتزامنة. على سبيل المثال، تمت إعادة تسمية getSchema إلى getSchemaAsync. وقد تم إيقاف الإصدارات السابقة وستتم إزالتها في إصدار مستقبلي.

الميزات الجديدة

  • الإصدار الأول من الأنواع المضمَّنة في بحث التطبيقات. يحتوي هذا المشروع على بعض الأنواع المضمنة استنادًا إلى schema.org، والتي قد يجدها العملاء مناسبة للاستخدام بدلاً من تحديد أنواعهم الخاصة للكائنات الشائعة. وستتم إضافة المزيد من الأنواع في الإصدارات المستقبلية.
  • إمكانية استخدام ShortcutAdapter لتحويل مستند AppSearch إلى ShortcutInfoCompat يمنح ذلك العملاء طريقة لمشاركة AppSearch مستندات مع Google باستخدام مكتبة الاختصارات الأساسية ( أمر google)،
  • إمكانية استخدام الاكتساب مع @Document صفًا. لا يمكن استبدال الحقول أو تعديلها، ولكن يمكن إضافة حقول جديدة من خلال توسيع صف يتضمّن تعليقات توضيحية باستخدام @Document.
  • واجهة برمجة تطبيقات جديدة لبرنامج Monitorer تتيح للعملاء التسجيل لتلقّي الإشعارات عند تغيير الأنواع التي يمكنهم الوصول إليها أو عند إضافة مستندات من هذا النوع أو تعديلها أو إزالتها. ملاحظة مهمّة: إنّ طريقة التنفيذ الحالية لا تتلقّى إشعارات إلا عندما يكون تطبيقك قيد التشغيل. ليست هناك طريقة حاليًا لفحص التغييرات التي حدثت أثناء توقف تطبيقك. وبالتالي، يجب عدم الاعتماد على واجهة برمجة التطبيقات هذه لأغراض الاكتمال.
  • تتيح لك واجهة برمجة تطبيقات محلّل المواقع الإلكترونية معالجة مسارات المواقع الإلكترونية التي يعرضها MatchInfo#getPropertyPath وفحصها بالكامل.
  • getById عالمية وواجهة برمجة تطبيقات getSchema شاملة لاسترداد المستندات والمخططات من التطبيقات الأخرى التي منحك إذن الوصول إليها
  • إمكانية استرداد معلومات مستوى الظهور في getSchema للبيانات التي يمكنك الوصول إليها
  • إمكانية منح إذن الوصول للتطبيقات التي لديها إذن معيّن من Android (يقتصر على مجموعة محدودة من الأذونات المُدرَجة في القائمة المسموح بها)
  • إتاحة استخدام رموز الالحصول على نمط isFoo() في الحقول المنطقية في معالج التعليقات التوضيحية، بالإضافة إلى النمط المتوافق السابق hasFoo()
  • إتاحة الميزات الجديدة المحمية بعد @RequiresFeature. يمكنك استخدام AppSearchSession#getFeatures لتحديد ما يتوافق مع الواجهة الخلفية الحالية.
  • إزالة الحد الأقصى المسموح به للرمز المميّز الذي يبلغ 13 ألفًا تقريبًا في المستندات الفردية
  • السماح بالمطابقة على الأحرف التي ليست ascii أو غير الأبجدية الرقمية، مثل الرموز التعبيرية

إصلاح الأخطاء

  • إصلاح الخطأ الذي سيؤدي إلى إخفاق SetSchema عند إلغاء نوع مدمج غير متوافق.
  • إصلاحات لإتاحة الصفوف التي تتضمن تعليقات توضيحية @AutoValue بشكل كامل والتي يتم استخدامها كصفوف في AppSearch @Document
  • إصلاحات لبعض الأعطال المتعلقة بالقوائم المتكررة لفئات المستند والمشكلات الأخرى
  • إصلاح خطأ قد يؤدي إلى تعطُّل ميزة البحث في بادئة معيّنة في ظل ظروف معيّنة
  • إصلاح خطأ بسيط في GetStorageInfo يؤدي إلى عرض قيم غير صحيحة عند حدوث إخفاقات في طلب الإدراج
  • حلّ BUSADDERR مشكلة عند قراءة مستند
  • إصلاح تلف أداة Logcat الناتج عن طباعة بصمة الإصبع غير المنسَّقة
  • إصلاح NPE الناتج عن إخفاقات طلب الإدراج
  • إصلاح تسرّب الذاكرة في GetSchemaType وGet وDelete وDeleteByNamespace وDeleteBySchemaType

الإصدار 1.0.0

الإصدار 1.0.0-alpha04

3 تشرين الثاني (نوفمبر) 2021

تم إصدار "androidx.appsearch:appsearch-*:1.0.0-alpha04". يحتوي الإصدار 1.0.0-alpha04 على هذه الالتزامات.

الميزات الجديدة

  • يتم إدراج تبعية Guava ListenableFuture تلقائيًا كتبعية لواجهة برمجة التطبيقات.

تغييرات واجهة برمجة التطبيقات

  • أضف SearchResult#getSubmatchRange() وSearchResult#getSubmatch() لتوفير مزيد من المعلومات حول كل تطابق. (I2fef6)
  • توضيح المستندات المتعلّقة بكيفية إنشاء الملفات المرجعية لمعرّف الحزمة لمشاركة البيانات حسب اسم الحزمة والشهادة

إصلاح الأخطاء

  • إصلاح العطل إذا حاول المستخدم جلب صفحات النتائج بعد نهاية مجموعة النتائج
  • حلّ المشكلة المتعلّقة بجميع مساحات الاسم التي يتم الاستعلام عنها في حال تقديم مساحات اسم غير صالحة فقط كفلاتر لطلبات البحث
  • حل المشكلة المتعلّقة بجميع مساحات الاسم التي تتم إزالتها في حال تقديم مساحات اسم غير صالحة فقط كفلاتر إزالة حسب طلب البحث
  • إصلاح المشكلة المتمثّلة في توقُّف فهرسة بيانات المستندات بعد نقطة معيّنة للمستندات الكبيرة جدًا
  • حلّ مشكلة إسقاط الرموز المميّزة للشرائح التي تتضمّن أحرفًا رقمية ليست بتنسيق Acii
  • يمكنك إضافة فحص لمحاولات الإعداد الفاشلة المتعاقبة للمساعدة في الخروج من الحالة السيئة المحتملة التي تمنع نجاح الإعداد.

الإصدار 1.0.0-alpha03

21 تموز (يوليو) 2021

تم إصدار "androidx.appsearch:appsearch-*:1.0.0-alpha03". يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.

الميزات الجديدة

  • إصدار من خلفية تخزين النظام الأساسي للسماح للعملاء باستخدام واجهة برمجة التطبيقات AppSearch API مع إطلاق خدمة android.app.appsearch.AppSearchManager الجديدة في Android S. للاطّلاع على مزيد من التفاصيل، يُرجى زيارة "دليل المطوّر حول AppSearch".
  • دعم معالج التعليقات التوضيحية للقيمة التلقائية
  • إزالة الحد الأقصى للحجم لخاصية سلسلة واحدة
  • تنسيق جديد لمساحة التخزين لتقليل وقت استجابة الإعداد
  • نقل البيانات الداخلية لمرة واحدة من تنسيق مساحة التخزين القديمة إلى تنسيق مساحة التخزين الجديدة

إصلاح الأخطاء

  • فرض الحد الأقصى بشكل صحيح للمستند عند إدراج مستندات جديدة
  • العطل الذي تم إصلاحه أثناء إنشاء AppSearchSession
  • إصلاح الأخطاء في SetSchema التي لم يتم اكتشاف بعض حالات عدم التوافق مع الأنظمة القديمة وعدم توافق الفهرس

الإصدار 1.0.0-alpha02

30 حزيران (يونيو) 2021

تم إصدار androidx.appsearch:appsearch:1.0.0-alpha02 وandroidx.appsearch:appsearch-compiler:1.0.0-alpha02 وandroidx.appsearch:appsearch-local-storage:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.

الميزات الجديدة

  • الدعم الكامل للغات الصينية/اليابانية/الكورية/التايلاندية
  • تقليل حجم androidx.appsearch:appsearch-local-storage
  • إزالة الحد الأقصى للحجم للمواقع المكرّرة
  • السماح بإعادة استخدام صفوف أدوات الإنشاء
  • تحسينات في toString() على عناصر معيّنة لتصحيح الأخطاء بشكلٍ أسهل
  • تحسينات وثائق Javadoc

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية SearchResult#getMatches إلى SearchResult#getMatchInfos
  • تمت إعادة تسمية @Document.Int64Property إلى @Document.LongProperty

إصلاح الأخطاء

  • تحسينات وإصلاحات على طريقة احتساب مقتطفات النتائج
  • إصلاح الأخطاء في إعداد AppSearchSession

الإصدار 1.0.0-alpha01

5 أيار (مايو) 2021

تم إصدار androidx.appsearch:appsearch:1.0.0-alpha01 وandroidx.appsearch:appsearch-compiler:1.0.0-alpha01 وandroidx.appsearch:appsearch-local-storage:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.

الميزات الجديدة

AppSearch هي مكتبة بحث لإدارة البيانات المنظَّمة المخزّنة محليًا، باستخدام واجهات برمجة تطبيقات لفهرسة البيانات واسترداد البيانات من خلال البحث في النص الكامل. يمكنك استخدامه لإنشاء إمكانيات بحث مخصصة داخل التطبيق للمستخدمين. هذا الإصدار الأولي هو 1.0.0-alpha01.