جستجوی برنامه

AppSearch یک کتابخانه جستجوی درون دستگاهی برای مدیریت داده‌های ساختاریافته ذخیره‌شده محلی است که دارای APIهایی برای فهرست‌بندی داده‌ها و بازیابی داده‌ها با استفاده از جستجوی متن کامل است. از آن برای ایجاد قابلیت‌های جستجوی درون برنامه‌ای سفارشی برای کاربران خود استفاده کنید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۲۵ مارس ۲۰۲۶ ۱.۱.۰ - - ۱.۲.۰-آلفا۰۱

اعلام وابستگی‌ها

برای افزودن یک وابستگی به AppSearch، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    def appsearch_version = "1.2.0-alpha01"

    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"

    // PlayServicesStorage is compatible with all devices that support Google Play Services on
    // all API levels. It offers the same features as PlatformStorage and is the recommended
    // solution for lower API levels on which PlatformStorage is not supported.
    implementation "androidx.appsearch:appsearch-play-services-storage:$appsearch_version"
}

کاتلین

dependencies {
    val appsearch_version = "1.2.0-alpha01"

    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")

    // PlayServicesStorage is compatible with all devices that support Google Play Services on
    // all API levels. It offers the same features as PlatformStorage and is the recommended
    // solution for lower API levels on which PlatformStorage is not supported.
    implementation("androidx.appsearch:appsearch-play-services-storage:$appsearch_version")

}

برای اطلاعات بیشتر در مورد وابستگی‌ها، به بخش «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه ۱.۲

نسخه ۱.۲.۰-آلفا۰۱

۲۵ مارس ۲۰۲۶

androidx.appsearch:appsearch-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیت‌ها است.

تغییرات API

  • غیرفعال کردن و پنهان کردن API انتشار حذف ( Ia4073 ، b/384947619 )
  • setSchemaTypeWipeoutAccountPropertyPaths به set تغییر دهید. ( If442c , b/470398298 )
  • پشتیبانی از قابلیت مشاهده برای Process#isPccUid ( I2ee69 , b/463863587 )
  • برخی از سازنده‌های ناخواسته نمایش داده شده در انواع داخلی AppSearch ( I98583 ، b/463386955 ) را پنهان می‌کند.
  • AppSearchSchema#fromDocumentClass را اضافه می‌کند که طرحواره تولید شده برای یک کلاس @Document-annotated ( I599ad , b/458101236 ) را برمی‌گرداند.
  • اضافه کردن setSchemaTypeWipeoutAccountPropertyPaths به GetSchemaResponse ( I8f6d4 ، b/413089233 )
  • API مربوط به پاک کردن حساب کاربری را در SetSchemaRequest اضافه کنید. ( Id5a47 ، b/413089233 )
  • یک کلاس سازنده برای ایجاد حساب کاربری از نوع توکار ( I29d07 ، b/429110646 ) اضافه شد.
  • API انتشار حذف AppSearch اضافه کنید ( I57f89 ، b/384947619 )
  • یک رابط مشترک برای GlobalSearchSession و EnterpriseGlobalSearchSession اضافه می‌کند ( If2a70 ، b/422241546 )
  • پاک کردن ExperimentalAppSearchApi از Blob API ( I610e8 ، b/273591938 )
  • یک نوع نام مستعار داخلی ( I8aba0 ) اضافه می‌کند
  • یک API برای انباشتگر اکشن اضافه می‌کند ( I3f778 ، b/395157195 )
  • جابجایی‌ها، ویژگی‌های تودرتوی قابل ایندکس را به ویژگی جدید ( I4cf95 ، b/407815165 ) دریافت می‌کنند.
  • حذف حاشیه‌نویسی‌های منسوخ‌شده‌ی @RequiresApi(21) ( Ic4792 )
  • اضافه کردن حساب کاربری از نوع داخلی جدید ( Iadad6 ، b/422079057 )
  • کد خطای نتیجه AppSearchResult#RESULT_UNAVAILABLE را اضافه کنید ( I48411 ، b/407815165 ، b/404210068 ، b/415387509 ، b/419875333 ، b/417461575 ، b/415031127 ، b/357835538 )
  • یک API برای انباشتگر اکشن اضافه می‌کند ( I97818 ، b/395157195 )
  • کد جدید AppSearchResult RESULT_ABORTED ( I6c375 ، b/409070736 ) اضافه شد.
  • رویداد اصلاح‌شده به API O. نیاز دارد ( I4433b ، b/399728815 )
  • طرحواره داخلی جدید AppSearch به نام SportsEvent اضافه شد ( I0dea6 ، b/399728815 )
  • طرحواره داخلی جدید AppSearch SportsTeam اضافه شد ( I073cd ، b/399728815 )
  • طرحواره داخلی جدید AppSearch به نام SportsOrganization اضافه شد ( I5729c ، b/399728815 )
  • اضافه شدن طرحواره جدید Organization داخلی AppSearch ( I4bb2d ، b/399728815 )
  • Event طرحواره داخلی جدید AppSearch اضافه شد ( Ifd646 ، b/399728815 )
  • پروژه‌های منتشر شده با کاتلین ۲.۰ برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند ( Idb6b5 ، b/344563182 )
  • WebPage قابل توسعه کنید ( I622f7 ، b/399220908 )
  • فیلد منبع را به WebPage اضافه کنید ( Ic4d7b ، b/399220908 )
  • پارامترهای سازنده‌ی TextMatchInfo را تغییر دهید ( Ie29c3 ، b/403591188 ، b/395128139 )

رفع اشکالات

  • کتابخانه‌ها را به سمت استفاده از نسخه هدف جاوا ۱۱ سوق می‌دهد. این یعنی بایت‌کد تولید شده جاوا ۱۱ (فایل کلاس نسخه ۵۵) خواهد بود و ممکن است برای استفاده از کتابخانه نیاز به desugaring داشته باشد ( If4c2a ، b/457821470 )
  • SearchFeatures و RankingFeatures . ( I54b7d ، b/387291182 )
  • از پرچم انتشار حذف جدید استفاده کنید ( If21ae , b/384947619 )
  • گزارش‌گیری داخلی دقیق‌تری اضافه شد ( I10604 ، b/448872333 )
  • دستور allowoptimization برای AppSarchDocumentClassMap ( I0bd88 ، b/440484133 ) به proguard keep برمی‌گرداند.
  • رفع اشکالی در نسخه‌های بهینه‌شده که در آن ارجاعات به کلاس‌های سند AppSearch به دلیل ادغام افقی کلاس‌ها می‌توانستند با کلاس‌های نامرتبط جایگزین شوند ( I93f20 ، b/440484133 )
  • اضافه کردن ویژگی ISOLATED_STORAGE ( Ifb963 )

نسخه ۱.۱

نسخه ۱.۱.۰

۲ ژوئیه ۲۰۲۵

androidx.appsearch:appsearch-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیت‌ها است.

نسخه ۱.۱.۰-rc01

۲۰ مه ۲۰۲۵

androidx.appsearch:appsearch-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • ماژول AppSearch وارد RC می‌شود.
  • یک API آزمایشی جدید برای جمع‌آوری اقدامات برای متد PutDocumentsRequest#addTakenAction اضافه می‌کند ( I7b726 )
  • SearchResult#TextMatchInfo و SearchResult#EmbeddingMatchInfo را اضافه کنید؛ SearchResult#MatchInfo برای ارائه اطلاعات تطابق برای تطابق‌های جاسازی‌شده ( I8f78d ) بازسازی کنید.
  • معرفی توابع رتبه‌بندی برای دستکاری لیست ( Ifa4ab )

تغییرات API

  • پشتیبانی از پردازنده حاشیه‌نویسی AppSearch برای ویژگی blob handle. ( I9520b )
  • پردازنده حاشیه‌نویسی AppSearch برای پشتیبانی از کوانتیزاسیون به‌روزرسانی کنید. ( Ie0c85 )
  • یک متد استاتیک getFeatures() را به هر دو PlatformStorage و LocalStorage اضافه می‌کند ( I5a206 )

رفع اشکالات

  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع type-use هستند. توسعه‌دهندگان Kotlin باید از آرگومان‌های کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode ( I91f42 , b/326456246 )

نسخه ۱.۱.۰-بتا۰۱

۱۵ ژانویه ۲۰۲۵

androidx.appsearch:appsearch-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • ماژول AppSearch وارد نسخه بتا شد.

تغییرات API

  • غیرفعال کردن API آزمایشی انتشار حذف AppSearch به دلیل مشکلات پایداری. ( Iea386 )
  • ایجاد API GlobalSearchApplicationInfo ، روشی آزمایشی و اختیاری برای تولیدکنندگان و مصرف‌کنندگان جهت نشان دادن علاقه به انواع خاص. ( I116fd )
  • تغییرات جزئی در API های آزمایشی AST (سازنده پرس و جو) ( Ibd852 )

رفع اشکالات

  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع type-use هستند. توسعه‌دهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض است که از نسخه ۲.۱.۰ کامپایلر کاتلین شروع می‌شود). ( Ic2976 ، b/326456246 )
  • مجوز مورد نیاز برای searchPersonCorpus ( I4431d ) را اضافه می‌کند.

نسخه ۱.۱.۰-آلفا۰۷

۱۱ دسامبر ۲۰۲۴

androidx.appsearch:appsearch-*:1.1.0-alpha07 منتشر شد. نسخه 1.1.0-alpha07 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • اضافه کردن حاشیه‌نویسی ExperimentalAppSearchApi به سطوح API جدید که هنوز تثبیت نشده‌اند. ( Ib09f4 )
  • پشتیبانی از ذخیره‌سازی و اشتراک‌گذاری کارآمد داده‌های دودویی blob از طریق AppSearchSession#openBlobForWriteAsync و متدهای مرتبط
  • پشتیبانی از فیلتر کردن نتایج پرس‌وجو با امتیازدهی به عبارات از طریق تابع matchScoreExpression ( Id525a )
  • پشتیبانی از انتشار حذف از سند والد به اسناد فرزند. ( Ia032d )
  • پشتیبانی از API کوانتیزاسیون جاسازی برای افزایش عملکرد جاسازی با اندکی افت کیفیت. ( Id8a07 )
  • پشتیبانی از محدود کردن جستجوها به اسناد خاص با استفاده از API addFilterDocumentIds در SearchSpec . ( I7c6f1 )

تغییرات API

  • اطلاعات نوع والد را از GenericDocument به SearchResult منتقل کنید. ( I34a1d )
  • پشتیبانی از انواع اقدامات جدید در API TakenAction ، از جمله DismissAction و ImpressionAction . ( I0c6c7 )
  • طرحواره داخلی جدید AppSearch WebPage اضافه شد. ( I28127 )

نسخه ۱.۱.۰-alpha06

۱۶ اکتبر ۲۰۲۴

androidx.appsearch:appsearch-*:1.1.0-alpha06 منتشر شد. نسخه 1.1.0-alpha06 شامل این کامیت‌ها است.

تغییرات API

  • گره‌ای که نشان‌دهنده‌ی تابع پرس‌وجوی PropertyDefined است، اضافه شده است ( I1aeaf )
  • گره‌هایی را برای نمایش جستجوی عددی و محدود کردن ویژگی اضافه کنید. ( I963a9 )
  • گره‌ای را اضافه کنید که نشان‌دهنده‌ی تابع پرس‌وجوی GetSearchStringParameter باشد. ( I4f99b )
  • گره‌ای که نشان‌دهنده‌ی تابع پرس‌وجوی HasProperty است را اضافه کنید. ( I9c1c5 )
  • رابط کاربری برای پیاده‌سازی توابع در AST اضافه شد. ( I9d42e )
  • عملگرهای AND و OR را اضافه کنید. ( Iaa442 )
  • اضافه کردن NegationNode برای نمایش نفی منطقی کوئری‌ها در AST. ( Ia855a )
  • برای تعریف گره‌ها، رابط Node را به AppSearch اضافه کنید. ( If42fb )
  • یک حاشیه‌نویسی API آزمایشی برای AppSearch اضافه می‌کند. ( I3e57c )

رفع اشکالات

  • اضافه کردن TextNodes برای نگهداری عبارات. ( Iefd02 )

رفع مشکل امنیتی

  • با اعمال این تغییر ، androidx برای رفع مشکل CVE-2024-7254 ، بر اساس protobuf نسخه ۴.۲۸.۲ کامپایل می‌شود. برای رفع خطر آسیب‌پذیری، وابستگی خود به androidx.appsearch:appsearch-external-protobuf به آخرین نسخه ۱.۱.۰-alpha06 ارتقا دهید.

نسخه ۱.۱.۰-آلفا۰۵

۴ سپتامبر ۲۰۲۴

androidx.appsearch:appsearch-*:1.1.0-alpha05 منتشر شد. نسخه 1.1.0-alpha05 شامل این کامیت‌ها است.

تغییرات API

  • setEmbeddingSearchEnabled و getEmbeddingSearchEnabled غیرضروری را منسوخ می‌کند. setListFilterTokenizeFunctionEnabled و getListFilterTokenizeFunctionEnabled را حذف می‌کند. تابع کوئری 'tokenize' را حذف کرده و با تابع کوئری getSearchStringParameter و تابع addSearchStringParameter جایگزین می‌کند. ( I09f5a )
  • تغییر نام Alarm#getComputingDevice به getOriginatingDevice . ( I63121 )

نسخه ۱.۱.۰-آلفا۰۴

۷ آگوست ۲۰۲۴

androidx.appsearch:appsearch-*:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • پشتیبانی از پیاده‌سازی جدید PlayServicesStorage ، که امکان استفاده از AppSearch را در دستگاه‌های قدیمی‌تر بدون متحمل شدن هزینه قابل توجه حجم apk در LocalStorage فراهم می‌کند. این پیاده‌سازی ذخیره‌سازی با ذخیره داده‌های برنامه در داخل برنامه Play Services کار می‌کند.
  • پشتیبانی از APIهای جدید در دستگاه‌های دارای اندروید ۱۵.
  • پشتیبانی از جستجوی پایگاه داده با جاسازی بردارها، که امکان تطبیق فازی را فراهم می‌کند. ( I2b41b )
  • پشتیبانی از انواع والد و چندریختی در مدل طرحواره AppSearch . ( I06118 )
  • پشتیبانی از API TakenAction که به برنامه‌ها اجازه می‌دهد تا زمان کلیک یا رها شدن نتایج را گزارش دهند، برای افزایش کیفیت در جستجوهای بعدی. ( I54091 )
  • با معرفی حاشیه‌نویسی جدید @Document.BuilderProducer ( Iec30a ) از کلاس‌های دارای سازنده در پردازنده حاشیه‌نویسی پشتیبانی کنید.
  • از کنترل دقیق‌تر بر روی اینکه کدام ویژگی‌های یک سند تو در تو، ایندکس شوند، پشتیبانی می‌کند. ( Iec30a )
  • پشتیبانی از فیلتر کردن جستجوها بر اساس ویژگی‌های خاص سند. ( Ib2659 )
  • با فعال کردن OR و AND در تنظیمات دید، از تنظیمات دید جزئی‌تر پشتیبانی کنید. ( I0274b )
  • پشتیبانی از اعطای قابلیت مشاهده داده‌ها به تمام برنامه‌هایی که می‌توانند وجود برنامه مالک را ببینند (قابلیت مشاهده عمومی). ( I992e4 )
  • پشتیبانی از بازیابی فقط نتایجی که داده‌های آنها در یک ویژگی خاص قرار داده شده است. ( I7d94f )
  • پشتیبانی از بازیابی مخاطبین سازمانی در پروفایل شخصی. ( Idd587 )

تغییرات API

  • پارامترهای حاشیه‌نویسی indexableNestedPropertiesList و inheritIndexableNestedPropertiesFromSuperclass را به حاشیه‌نویسی Document.DocumentProperty در AppSearch اضافه کنید تا امکان فهرست‌بندی مسیرهای خاص ویژگی‌های تو در تو فراهم شود. ( Iec30a )
  • پشتیبانی از سازنده سازنده برای ایجاد نمونه‌های سازنده در پردازنده حاشیه‌نویسی AppSearch ( I265c9 )
  • به‌روزرسانی پردازشگر حاشیه‌نویسی AppSearch برای پشتیبانی از تنظیم انواع والد برای چندریختی ( I06118 )
  • متد GetSchemaRequest برای پاک کردن تنظیمات دید ( I38379 ) اضافه شد.
  • پشتیبانی از addParentType در AppSearch برای چندریختی ( Ida14a )
  • اضافه کردن API برای عبارات رتبه‌بندی بیشتر ( I5d9f4 )
  • افزودن API SearchAction ( I54091 )
  • فیلد توضیحات برای انواع AppSearch ( I84762 ) اضافه می‌شود.
  • جاسازی داخلی کوئری جستجو و APIهای رتبه‌بندی در AppSearch ( I0f6c3 )
  • تابع getDeletionPropagation ( I21192 ) را حذف می‌کند.

نسخه ۱.۱.۰-آلفا۰۳

۲۴ مه ۲۰۲۳

androidx.appsearch:appsearch-*:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • پشتیبانی از API جستجوی پیشرفته، API امتیازدهی پیشرفته و جستجوی عددی. ( I02d48 )
  • API LocalStorage.createGlobalSearchSession را برای جستجو در تمام پایگاه‌های داده موجود در حافظه محلی یک برنامه واحد اضافه می‌کند. ( Id3c89 )
  • یک API برای اتصال اسناد بر اساس شناسه ( Iaecfa ) اضافه شد
  • پشتیبانی از وزن‌های ویژگی برای علامت‌گذاری ویژگی‌های خاص هنگام استفاده از RANKING_STRATEGY_RELEVANCE_SCORING اهمیت بیشتری دارد. ( I069b9 )
  • برای جستجوی مجموعه داده‌های Person در AppSearch Person و ContactPoint را اضافه کنید. ( Ia58f9 )
  • نوع سند جدید ImageObject که از http://schema.org/ImageObject مدل‌سازی شده است، اضافه شد ( I6a0c0 )
  • یک توکن‌ساز VERBATIM اضافه کنید که امکان اضافه کردن ویژگی‌ها را بدون تفسیر توسط AppSearch فراهم می‌کند. ( I47bc0 )
  • RFC822_TOKENIZATION به عنوان یک نوع توکنایزر اضافه شد که امکان توکن‌سازی آدرس‌های ایمیل را فراهم می‌کند. ( I8a390 )
  • جستجوی سراسری را در نمای اشکال‌زدایی فعال کنید. ( I51fb2 )

تغییرات API

  • متدهایی که ListenableFuture برمی‌گردانند و پسوند Async ندارند، حذف شده‌اند. ( I0515f )
  • قابلیت پیکربندی پیش‌بینی‌ها توسط یک کلاس Document ( I94576 ) اضافه شد.
  • فیلدهایی از Thing به Alarm ، AlarmInstance ، Timer ، Stopwatch ، StopwatchLap ، ContactPoint و Person ( Id876c ) اضافه کنید.

رفع اشکالات

  • پشتیبانی کامل از ویژگی‌های اندروید ۱۳ در appsearch-platform-storage ( Ia8e61 )
  • هنگام استفاده از وراثت، مشکلات مربوط به لغو نام‌های طرحواره و فیلدهای خصوصی را برطرف کنید.

نسخه ۱.۱.۰-آلفا۰۲

۲۴ آگوست ۲۰۲۲

androidx.appsearch:appsearch-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • سرعت بخشیدن به فرآیند بهینه‌سازی با استفاده از فشرده‌سازی شاخص به جای بازسازی شاخص از ابتدا
  • برچسب ثبت وقایع بومی از "icing" به "AppSearchIcing" تغییر یافت، پیام‌های INFO به طور پیش‌فرض ثبت می‌شوند.

تغییرات API

  • شیء PropertyPath جدید برای کار با مسیرها و متدهای addProjection جدید برای پذیرش PropertyPath اضافه می‌کند. ( I45588 )
  • اضافه شدن builtin:Thing به انواع builtin مربوط به AppSearch ( I55427 )
  • زودتر از خالی بودن نام‌های ویژگی در GenericDocument جلوگیری کنید - قبلاً در زمان فهرست‌بندی از آنها جلوگیری می‌شد، اکنون در زمان GenericDocument.Builder.build() ( I9e780 ) از آنها جلوگیری می‌شود.

رفع اشکالات

  • قالب‌بندی رشته‌های غیرضروری حذف شد تا عملکرد امتیازدهی RELEVANCE بهبود یابد.
  • صفحه‌بندی کارآمدتر هنگام مواجهه با اسناد غیرقابل خواندن یا حذف شده
  • جمع‌آوری زباله برای کوئری‌های رها شده پیاده‌سازی شد
  • رفع مشکل پشتیبانی از اندیس‌گذاری تودرتو برای اسناد. قبلاً indexNestedProperties نادیده گرفته می‌شد. ( Iae9a6 )

مشارکت خارجی

  • شیا اسمیت: رفع مشکل پشتیبانی از نمایه‌سازی تو در تو برای اسناد. ( Iae9a6 )

نسخه ۱.۱.۰-آلفا۰۱

۱۵ ژوئن ۲۰۲۲

androidx.appsearch:appsearch-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 در یک شاخه پیش از انتشار خصوصی توسعه داده شده و هیچ کامیت عمومی ندارد.

تغییرات API

  • تمام متدهایی که ListenableFuture برمی‌گردانند، به پسوند Async تغییر نام داده‌اند. برای مثال، getSchema به getSchemaAsync تغییر نام داده شده است. نسخه‌های قبلی منسوخ شده‌اند و در نسخه‌های آینده حذف خواهند شد.

ویژگی‌های جدید

  • اولین انتشار appsearch-builtin-types. این پروژه شامل برخی از انواع داخلی مبتنی بر schema.org است که ممکن است کلاینت‌ها به جای تعریف انواع خودشان برای اشیاء رایج، استفاده از آنها را راحت‌تر بیابند. انواع بیشتری در نسخه‌های آینده اضافه خواهند شد.
  • قابلیت استفاده از ShortcutAdapter برای تبدیل یک سند AppSearch به ShortcutInfoCompat . این قابلیت به کلاینت‌ها امکان می‌دهد تا اسناد AppSearch را با استفاده از کتابخانه core-google-shortcuts در گوگل به اشتراک بگذارند.
  • امکان استفاده از وراثت با کلاس‌های @Document . فیلدها قابل جایگزینی یا تغییر نیستند، اما می‌توان با بسط دادن کلاسی که با @Document حاشیه‌نویسی شده است، فیلدهای جدید اضافه کرد.
  • API جدید Observer که به کلاینت‌ها اجازه می‌دهد در صورت تغییر انواعی که به آنها دسترسی دارند یا اضافه، اصلاح یا حذف اسنادی از آن نوع‌ها، برای دریافت اعلان‌ها ثبت نام کنند. مهم: پیاده‌سازی فعلی فقط زمانی که برنامه شما در حال اجرا است، اعلان‌ها را ارائه می‌دهد. در حال حاضر هیچ راهی برای بررسی تغییراتی که در حین توقف برنامه شما رخ داده است، وجود ندارد. بر این اساس، نباید برای کامل بودن به این API تکیه کنید.
  • API تجزیه‌کننده‌ی ویژگی که به شما امکان می‌دهد مسیرهای ویژگیِ برگردانده شده توسط MatchInfo#getPropertyPath را به طور کامل مدیریت و بررسی کنید.
  • API سراسری getById و getSchema برای بازیابی اسناد و طرحواره‌ها از برنامه‌های دیگر که به شما قابلیت مشاهده داده‌اند.
  • امکان بازیابی اطلاعات مربوط به قابلیت مشاهده در getSchema برای داده‌هایی که به آنها دسترسی دارید
  • امکان اعطای دسترسی به برنامه‌هایی که دارای مجوز خاص اندروید هستند (محدود به مجموعه‌ای محدود از مجوزهای مجاز)
  • پشتیبانی از getter های به سبک isFoo() برای فیلدهای بولی در پردازنده حاشیه‌نویسی، علاوه بر سبک پشتیبانی شده قبلی hasFoo()
  • پشتیبانی از ویژگی‌های جدید که توسط @RequiresFeature محافظت می‌شوند. AppSearchSession#getFeatures برای تعیین اینکه backend فعلی از چه ویژگی‌هایی پشتیبانی می‌کند، استفاده کنید.
  • محدودیت حدود ۱۳ هزار توکن برای اسناد منفرد را حذف کنید
  • تطبیق روی کاراکترهای غیر اسکی+غیر الفبایی-عددی، مانند ایموجی‌ها، را مجاز کنید

رفع اشکالات

  • رفع اشکالی که هنگام لغو یک نوع ناسازگار تو در تو SetSchema با شکست مواجه می‌کرد.
  • رفع مشکلات برای پشتیبانی کامل از کلاس‌های حاشیه‌نویسی‌شده‌ی @AutoValue که به عنوان کلاس‌های @Document در AppSearch استفاده می‌شوند.
  • رفع برخی از خرابی‌های مربوط به لیست‌های مکرر کلاس‌های Document و سایر مشکلات
  • رفع اشکالی که جستجوی پیشوند را تحت شرایط خاص از کار می‌انداخت
  • رفع اشکال جزئی در GetStorageInfo که هنگام مواجهه با خطاهای IO، مقادیر نادرست را برمی‌گرداند
  • رفع مشکلات BUSADDERR هنگام خواندن یک سند
  • رفع مشکل خرابی logcat ناشی از چاپ اثر انگشت فرمت نشده
  • رفع NPE ناشی از خرابی‌های IO
  • رفع نشت حافظه در GetSchemaType ، Get ، Delete ، DeleteByNamespace و DeleteBySchemaType

نسخه ۱.۰.۰

نسخه ۱.۰.۰-آلفا۰۴

۳ نوامبر ۲۰۲۱

androidx.appsearch:appsearch-*:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • وابستگی Guava ListenableFuture به طور خودکار به عنوان یک وابستگی API وارد می‌شود

تغییرات API

  • برای ارائه اطلاعات بیشتر در مورد هر تطابق، SearchResult#getSubmatchRange() و SearchResult#getSubmatch() را اضافه کنید. ( I2fef6 )
  • شفاف‌سازی مستندات پیرامون نحوه تولید اثر انگشت‌های PackageIdentifier برای اشتراک‌گذاری داده‌ها بر اساس نام بسته + گواهی

رفع اشکالات

  • رفع مشکل کرش کردن برنامه در صورتی که کاربر پس از پایان مجموعه نتایج، سعی در دریافت صفحات نتیجه داشته باشد
  • رفع مشکل مربوط به درخواست از تمام فضاهای نام در صورتی که فقط فضاهای نام نامعتبر به عنوان فیلترهای پرس و جو ارائه شده باشند
  • رفع مشکل حذف تمام فضاهای نام در صورتی که فقط فضاهای نام نامعتبر به عنوان فیلترهای حذف بر اساس پرس و جو ارائه شده باشند.
  • رفع مشکلی که باعث می‌شد داده‌های سند پس از یک نقطه خاص برای اسناد بسیار بزرگ، ایندکس‌گذاری نشوند.
  • مشکلی را که در آن توکن‌سازی باعث حذف بخش‌هایی با کاراکترهای عددی غیر Ascii می‌شد، برطرف کرد.
  • بررسی تلاش‌های ناموفق متوالی برای مقداردهی اولیه را اضافه کنید تا به خروج از وضعیت بد احتمالی که مانع از مقداردهی اولیه موفقیت‌آمیز می‌شود، کمک کند.

نسخه ۱.۰.۰-آلفا۰۳

۲۱ ژوئیه ۲۰۲۱

androidx.appsearch:appsearch-*:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • انتشار Platform Storage Backend برای اینکه به کلاینت‌ها اجازه دهد از AppSearch API با سرویس جدید android.app.appsearch.AppSearchManager که در اندروید S راه‌اندازی شده است، استفاده کنند. برای جزئیات بیشتر، لطفاً به AppSearch Developer Guide مراجعه کنید.
  • پشتیبانی پردازنده حاشیه‌نویسی برای AutoValue
  • حذف محدودیت حداکثر اندازه برای یک ویژگی تک رشته‌ای
  • فرمت ذخیره‌سازی جدید برای کاهش تأخیر راه‌اندازی اولیه
  • انتقال داده‌های داخلی یکباره از فرمت ذخیره‌سازی قدیمی به فرمت ذخیره‌سازی جدید

رفع اشکالات

  • هنگام درج اسناد جدید، حداکثر محدودیت سند را به درستی اعمال می‌کند
  • رفع مشکل کرش کردن هنگام ایجاد AppSearchSession
  • اشکالاتی در SetSchema که برخی از موارد ناسازگاری رو به عقب و ناسازگاری شاخص را تشخیص نمی‌دادند، برطرف شد.

نسخه ۱.۰.۰-آلفا۰۲

۳۰ ژوئن ۲۰۲۱

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

تغییرات API

  • SearchResult#getMatches به SearchResult#getMatchInfos تغییر نام داد
  • @Document.Int64Property به @Document.LongProperty تغییر نام داد

رفع اشکالات

  • بهبودها و اصلاحاتی در محاسبه‌ی قطعه کدهای نتیجه
  • رفع اشکالات در مقداردهی اولیه AppSearchSession

نسخه ۱.۰.۰-آلفا۰۱

۵ مه ۲۰۲۱

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 یک کتابخانه جستجو برای مدیریت داده‌های ساختاریافته محلی است که دارای APIهایی برای فهرست‌بندی داده‌ها و بازیابی داده‌ها از طریق جستجوی متن کامل است. از آن برای ایجاد قابلیت‌های جستجوی درون‌برنامه‌ای سفارشی برای کاربران خود استفاده کنید. این نسخه اولیه 1.0.0-alpha01 است.