AppSearch

AppSearch, डिवाइस पर मौजूद एक सर्च लाइब्रेरी है. इसका इस्तेमाल, डिवाइस पर सेव किए गए स्ट्रक्चर्ड डेटा को मैनेज करने के लिए किया जाता है. इसमें डेटा को इंडेक्स करने और फ़ुल-टेक्स्ट सर्च का इस्तेमाल करके डेटा वापस पाने के लिए एपीआई होते हैं. इसका इस्तेमाल करके, अपने उपयोगकर्ताओं के लिए ऐप्लिकेशन में खोज की कस्टम सुविधाएं बनाएं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
25 मार्च, 2026 1.1.0 - - 1.2.0-alpha01

डिपेंडेंसी का एलान करना

AppSearch पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की 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"
}

Kotlin

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 को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

वर्शन 1.2

वर्शन 1.2.0-alpha01

25 मार्च, 2026

androidx.appsearch:appsearch-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Delete Propagation API (Ia4073, b/384947619) को बंद करें और छिपाएं
  • सेट लेने के लिए, setSchemaTypeWipeoutAccountPropertyPaths बदलें. (If442c, b/470398298)
  • Process#isPccUid (I2ee69, b/463863587) के लिए, 'किसको दिखे' सेटिंग की सुविधा उपलब्ध कराई गई
  • AppSearch में मौजूद कुछ ऐसे कंस्ट्रक्टर छिपाए गए हैं जिन्हें गलती से दिखाया गया था. ये कंस्ट्रक्टर, बिल्ट-इन टाइप के हैं (I98583, b/463386955)
  • AppSearchSchema#fromDocumentClass जोड़ता है, जो @Document-annotated क्लास (I599ad, b/458101236) के लिए जनरेट किया गया स्कीमा दिखाता है
  • GetSchemaResponse में setSchemaTypeWipeoutAccountPropertyPaths जोड़ा गया (I8f6d4, b/413089233)
  • SetSchemaRequest में, खाता मिटाने के लिए एपीआई सेट करने का विकल्प जोड़ें. (Id5a47, b/413089233)
  • बिल्ट-इन-टाइप खाता बनाने के लिए, बिल्डर क्लास जोड़ा गया (I29d07, b/429110646)
  • AppSearch delete propagation API जोड़ा गया (I57f89, b/384947619)
  • GlobalSearchSession और EnterpriseGlobalSearchSession के लिए शेयर किया गया इंटरफ़ेस जोड़ता है (If2a70, b/422241546)
  • Blob API से ExperimentalAppSearchApi को हटाएं (I610e8, b/273591938)
  • यह बिल्ट-इन निकनेम टाइप (I8aba0) जोड़ता है
  • यह कुकी, Action Accumulator API (I3f778, b/395157195) को जोड़ती है
  • Moves get indexable nested properties to new feature (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)
  • यह Action Accumulator API (I97818, b/395157195) जोड़ता है
  • नया AppSearchResult कोड RESULT_ABORTED जोड़ें (I6c375, b/409070736)
  • बदले गए इवेंट के लिए, एपीआई O की ज़रूरत होती है. (I4433b, b/399728815)
  • नया AppSearch बिल्ट-इन स्कीमा SportsEvent जोड़ा गया (I0dea6, b/399728815)
  • नया AppSearch बिल्ट-इन स्कीमा SportsTeam जोड़ा गया (I073cd, b/399728815)
  • नया AppSearch बिल्ट-इन स्कीमा SportsOrganization जोड़ा गया (I5729c, b/399728815)
  • नया AppSearch बिल्ट-इन स्कीमा Organization जोड़ा गया (I4bb2d, b/399728815)
  • नया AppSearch बिल्ट-इन स्कीमा Event जोड़ा गया (Ifd646, b/399728815)
  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन का इस्तेमाल करना ज़रूरी है (Idb6b5, b/344563182)
  • WebPage को एक्सटेंड किया जा सकता है (I622f7, b/399220908)
  • WebPage में सोर्स फ़ील्ड जोड़ा गया (Ic4d7b, b/399220908)
  • TextMatchInfo के कंस्ट्रक्टर पैरामीटर (Ie29c3, b/403591188, b/395128139) बदलें

गड़बड़ियां ठीक की गईं

  • लाइब्रेरी को Java 11 टारगेट का इस्तेमाल करने के लिए ले जाता है. इसका मतलब है कि जनरेट किया गया बाइटकोड, Java 11 (क्लास फ़ाइल वर्शन 55) होगा. साथ ही, लाइब्रेरी का इस्तेमाल करने के लिए, इसे डीसुगर करने की ज़रूरत पड़ सकती है (If4c2a, b/457821470)
  • SearchFeatures और RankingFeatures. (I54b7d, b/387291182)
  • डेटा मिटाने की जानकारी को आगे बढ़ाने वाले नए फ़्लैग (If21ae, b/384947619) का इस्तेमाल करें
  • ज़्यादा जानकारी वाली इंटरनल लॉगिंग जोड़ी गई (I10604, b/448872333)
  • यह AppSarchDocumentClassMap के लिए, proguard keep rule में allowoptimization को वापस जोड़ता है (I0bd88, b/440484133)
  • ऑप्टिमाइज़ किए गए बिल्ड में मौजूद एक बग को ठीक किया गया है. इस बग की वजह से, हॉरिज़ॉन्टल क्लास मर्जिंग (I93f20, b/440484133) की वजह से, AppSearch दस्तावेज़ क्लास के रेफ़रंस को मिलती-जुलती क्लास से बदला जा सकता था
  • ISOLATED_STORAGE सुविधा जोड़ें (Ifb963)

वर्शन 1.1

वर्शन 1.1.0

2 जुलाई, 2025

androidx.appsearch:appsearch-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.

वर्शन 1.1.0-rc01

20 मई, 2025

androidx.appsearch:appsearch-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • AppSearch मॉड्यूल, आरसी में शामिल होता है.
  • PutDocumentsRequest#addTakenAction तरीके (I7b726) के लिए कार्रवाइयों को इकट्ठा करने के लिए, एक नया एक्सपेरिमेंटल एपीआई जोड़ा गया है
  • SearchResult#TextMatchInfo, SearchResult#EmbeddingMatchInfo जोड़ा गया; एम्बेडिंग से मिलते-जुलते कॉन्टेंट की जानकारी देने के लिए SearchResult#MatchInfo को फिर से व्यवस्थित किया गया (I8f78d)
  • सूची में हेर-फेर करने के लिए, रैंकिंग फ़ंक्शन पेश करना (Ifa4ab)

एपीआई में हुए बदलाव

  • ब्लॉब हैंडल प्रॉपर्टी के लिए, AppSearch एनोटेशन प्रोसेसर के साथ काम करता है. (I9520b)
  • क्वांटाइज़ेशन की सुविधा के लिए, AppSearch एनोटेशन प्रोसेसर को अपडेट करें. (Ie0c85)
  • यह PlatformStorage और LocalStorage, दोनों में एक स्टैटिक getFeatures() तरीका जोड़ता है (I5a206)

गड़बड़ियां ठीक की गईं

  • यह लाइब्रेरी अब JSpecify के nullness एनोटेशन का इस्तेमाल करती है. ये एनोटेशन, टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल लागू करने के लिए, कंपाइलर के इन आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I91f42, b/326456246)

वर्शन 1.1.0-beta01

15 जनवरी, 2025

androidx.appsearch:appsearch-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • AppSearch मॉड्यूल बीटा वर्शन में उपलब्ध है.

एपीआई में हुए बदलाव

  • स्थिरता से जुड़ी समस्याओं की वजह से, एक्सपेरिमेंट के तौर पर उपलब्ध AppSearch मिटाने से जुड़े एपीआई को बंद कर दिया गया है. (Iea386)
  • GlobalSearchApplicationInfo API बनाएं. यह एक एक्सपेरिमेंटल और वैकल्पिक तरीका है. इससे प्रॉड्यूसर और उपभोक्ता, कुछ टाइप में दिलचस्पी दिखा सकते हैं. (I116fd)
  • एक्सपेरिमेंट के तौर पर उपलब्ध एएसटी (क्वेरी बिल्डर) एपीआई में मामूली बदलाव किए गए हैं (Ibd852)

गड़बड़ियां ठीक की गईं

  • यह लाइब्रेरी अब JSpecify के nullness एनोटेशन का इस्तेमाल करती है. ये एनोटेशन, टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict (यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (Ic2976, b/326456246)
  • searchPersonCorpus (I4431d) के लिए ज़रूरी अनुमति जोड़ता है

वर्शन 1.1.0-alpha07

11 दिसंबर, 2024

androidx.appsearch:appsearch-*:1.1.0-alpha07 रिलीज़ हो गया है. वर्शन 1.1.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नए एपीआई सर्फ़ेस में ExperimentalAppSearchApi एनोटेशन जोड़ें. ये सर्फ़ेस अभी तक स्टेबल नहीं हुए हैं. (Ib09f4)
  • AppSearchSession#openBlobForWriteAsync और इससे जुड़े तरीकों के ज़रिए, बाइनरी ब्लॉब डेटा को आसानी से सेव और शेयर करने की सुविधा
  • matchScoreExpression फ़ंक्शन (Id525a) के ज़रिए, स्कोरिंग एक्सप्रेशन के हिसाब से क्वेरी के नतीजों को फ़िल्टर करने की सुविधा
  • पैरंट दस्तावेज़ से चाइल्ड दस्तावेज़ों में मिटाने की सुविधा को लागू करने की सुविधा. (Ia032d)
  • क्वांटाइज़ेशन एपीआई को एम्बेड करने की सुविधा, ताकि क्वालिटी में मामूली गिरावट के साथ एम्बेडिंग की परफ़ॉर्मेंस को बेहतर बनाया जा सके. (Id8a07)
  • SearchSpec में addFilterDocumentIds एपीआई का इस्तेमाल करके, खोज को कुछ दस्तावेज़ों तक सीमित करने की सुविधा. (I7c6f1)

एपीआई में हुए बदलाव

  • अभिभावक के टाइप की जानकारी को GenericDocument से SearchResult में ले जाएं. (I34a1d)
  • TakenAction एपीआई में नई तरह की कार्रवाइयों के लिए सहायता. इनमें DismissAction और ImpressionAction शामिल हैं. (I0c6c7)
  • AppSearch का नया बिल्टइन स्कीमा WebPage जोड़ा गया. (I28127)

वर्शन 1.1.0-alpha06

16 अक्टूबर, 2024

androidx.appsearch:appsearch-*:1.1.0-alpha06 रिलीज़ हो गया है. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • PropertyDefined क्वेरी फ़ंक्शन को दिखाने वाला नोड जोड़ा गया. (I1aeaf)
  • संख्या के हिसाब से खोज करने और प्रॉपर्टी को सीमित करने के लिए नोड जोड़ें. (I963a9)
  • GetSearchStringParameter क्वेरी फ़ंक्शन को दिखाने वाला नोड जोड़ें. (I4f99b)
  • HasProperty क्वेरी फ़ंक्शन को दिखाने वाला नोड जोड़ें. (I9c1c5)
  • एएसटी में फ़ंक्शन लागू करने के लिए इंटरफ़ेस जोड़ा गया. (I9d42e)
  • AND और OR ऑपरेटर जोड़ें. (Iaa442)
  • एएसटी में क्वेरी के लॉजिकल नेगेशन को दिखाने के लिए, NegationNode जोड़ें. (Ia855a)
  • नोड तय करने के लिए, AppSearch में नोड इंटरफ़ेस जोड़ें. (If42fb)
  • यह AppSearch के लिए, एक्सपेरिमेंटल एपीआई एनोटेशन जोड़ता है. (I3e57c)

गड़बड़ियां ठीक की गईं

  • शर्तों को होल्ड करने के लिए, TextNodes जोड़ा गया. (Iefd02)

सुरक्षा से जुड़ी समस्या ठीक करना

  • इस बदलाव के बाद, androidx को protobuf 4.28.2 के साथ कंपाइल किया जाता है, ताकि CVE-2024-7254 को ठीक किया जा सके. जोखिम की आशंका को दूर करने के लिए, androidx.appsearch:appsearch-external-protobuf पर अपनी डिपेंडेंसी को 1.1.0-alpha06 के सबसे नए वर्शन पर अपग्रेड करें.

वर्शन 1.1.0-alpha05

4 सितंबर, 2024

androidx.appsearch:appsearch-*:1.1.0-alpha05 रिलीज़ हो गया है. वर्शन 1.1.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • गैर-ज़रूरी setEmbeddingSearchEnabled और getEmbeddingSearchEnabled को बंद कर देता है. setListFilterTokenizeFunctionEnabled और getListFilterTokenizeFunctionEnabled को मिटाता है. 'tokenize' क्वेरी फ़ंक्शन मिटा दिया गया है. इसे getSearchStringParameter क्वेरी फ़ंक्शन और addSearchStringParameter फ़ंक्शन से बदल दिया गया है. (I09f5a)
  • Alarm#getComputingDevice का नाम बदलकर getOriginatingDevice करें. (I63121)

वर्शन 1.1.0-alpha04

7 अगस्त, 2024

androidx.appsearch:appsearch-*:1.1.0-alpha04 रिलीज़ हो गया है. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • PlayServicesStorage को लागू करने की सुविधा, जिससे पुराने डिवाइसों पर AppSearch का इस्तेमाल किया जा सकता है. इसके लिए, LocalStorage के एपीके का साइज़ बढ़ाने की ज़रूरत नहीं होती. स्टोरेज को लागू करने का यह तरीका, Play Services ऐप्लिकेशन में ऐप्लिकेशन का डेटा सेव करके काम करता है.
  • Android 15 पर काम करने वाले डिवाइसों पर नए एपीआई के लिए सहायता.
  • वेक्टर एम्बेड करके डेटाबेस को खोजने की सुविधा देता है. इससे फ़ज़ी मैचिंग की जा सकती है. (I2b41b)
  • AppSearch स्कीमा मॉडल में पैरंट टाइप और पॉलीमॉर्फ़िज़्म के लिए सहायता. (I06118)
  • TakenAction एपीआई के साथ काम करता है. इससे ऐप्लिकेशन को यह रिपोर्ट करने की अनुमति मिलती है कि नतीजों पर कब क्लिक किया गया या उन्हें कब छोड़ दिया गया, ताकि बाद की खोजों के दौरान क्वालिटी को बेहतर बनाया जा सके. (I54091)
  • नई @Document.BuilderProducer एनोटेशन की मदद से, एनोटेशन प्रोसेसर में बिल्डरों के साथ क्लास को सपोर्ट करें. (Iec30a)
  • इससे नेस्ट किए गए दस्तावेज़ की किन प्रॉपर्टी को इंडेक्स किया जाएगा, इस पर बेहतर कंट्रोल मिलता है. (Iec30a)
  • दस्तावेज़ की कुछ प्रॉपर्टी के हिसाब से खोजों को फ़िल्टर करने की सुविधा. (Ib2659)
  • ज़्यादा बेहतर तरीके से दिखने की सेटिंग को सपोर्ट करता है. इसके लिए, दिखने की सेटिंग के OR और AND को अनुमति देता है. (I0274b)
  • डेटा को उन सभी ऐप्लिकेशन के साथ शेयर करने की सुविधा जो डेटा के मालिक ऐप्लिकेशन की मौजूदगी देख सकते हैं (डेटा को सार्वजनिक तौर पर शेयर करने की सुविधा). (I992e4)
  • सिर्फ़ उन नतीजों को वापस पाने की सुविधा जिनमें किसी प्रॉपर्टी में डेटा भरा गया है. (I7d94f)
  • निजी प्रोफ़ाइल में एंटरप्राइज़ के संपर्कों को वापस पाने की सुविधा. (Idd587)

एपीआई में हुए बदलाव

  • AppSearch के Document.DocumentProperty एनोटेशन में indexableNestedPropertiesList और inheritIndexableNestedPropertiesFromSuperclass एनोटेशन पैरामीटर जोड़ें, ताकि खास नेस्ट की गई प्रॉपर्टी के पाथ को इंडेक्स किया जा सके. (Iec30a)
  • AppSearch एनोटेशन प्रोसेसर (I265c9) में बिल्डर इंस्टेंस बनाने के लिए, बिल्डर कंस्ट्रक्टर की सुविधा जोड़ी गई
  • पॉलीमॉर्फ़िज़्म के लिए पैरंट टाइप सेट करने की सुविधा देने के लिए, AppSearch एनोटेशन प्रोसेसर को अपडेट किया गया (I06118)
  • GetSchemaRequest तरीके को जोड़ा गया है, ताकि दिखने की सेटिंग को मिटाया जा सके (I38379)
  • AppSearch में पॉलीमॉर्फ़िज़्म के लिए addParentType का समर्थन (Ida14a)
  • रैंकिंग के अतिरिक्त एक्सप्रेशन के लिए एपीआई जोड़े गए (I5d9f4)
  • Add SearchAction API (I54091)
  • AppSearch टाइप के लिए, ब्यौरे वाला फ़ील्ड जोड़ता है (I84762)
  • AppSearch (I0f6c3) में, खोज क्वेरी और रैंकिंग एपीआई को जोड़ना
  • getDeletionPropagation (I21192) को हटाता है

वर्शन 1.1.0-alpha03

24 मई, 2023

androidx.appsearch:appsearch-*:1.1.0-alpha03 रिलीज़ हो गया है. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ऐडवांस क्वेरी एपीआई, ऐडवांस स्कोरिंग एपीआई, और संख्या के हिसाब से खोज करने की सुविधा. (I02d48)
  • यह LocalStorage.createGlobalSearchSession API जोड़ता है, ताकि किसी एक ऐप्लिकेशन के लोकल स्टोरेज में मौजूद सभी डेटाबेस में खोज की जा सके. (Id3c89)
  • आईडी के हिसाब से दस्तावेज़ों को जोड़ने के लिए एक एपीआई (Iaecfa) जोड़ा गया
  • RANKING_STRATEGY_RELEVANCE_SCORING का इस्तेमाल करते समय, कुछ प्रॉपर्टी को ज़्यादा अहम के तौर पर मार्क करने के लिए, प्रॉपर्टी के वज़न की सुविधा उपलब्ध है. (I069b9)
  • AppSearch में, व्यक्ति के कॉर्पस से क्वेरी करने के लिए, व्यक्ति और ContactPoint जोड़ें. (Ia58f9)
  • http://schema.org/ImageObject के बाद, नया दस्तावेज़ टाइप ImageObject जोड़ा गया. (I6a0c0)
  • एक VERBATIM टोकनाइज़र जोड़ें, जो AppSearch की व्याख्या के बिना प्रॉपर्टी जोड़ने की अनुमति देता है. (I47bc0)
  • RFC822_TOKENIZATION को टोकनाइज़र टाइप के तौर पर जोड़ा गया है. इससे ईमेल पतों को टोकनाइज़ किया जा सकता है. (I8a390)
  • डीबग व्यू में ग्लोबल सर्च चालू करें. (I51fb2)

एपीआई में हुए बदलाव

  • ऐसे तरीके हटा दिए गए हैं जो ListenableFuture दिखाते हैं और जिनमें Async सफ़िक्स नहीं है. (I0515f)
  • Document क्लास के हिसाब से प्रोजेक्शन कॉन्फ़िगर करने की सुविधा जोड़ता है. (I94576)
  • Thing से Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint, और Person (Id876c) तक के फ़ील्ड जोड़ें

गड़बड़ियां ठीक की गईं

  • appsearch-platform-storage में Android 13 की सुविधाओं के लिए पूरी तरह से काम करने वाली सुविधा (Ia8e61)
  • इनहेरिटेंस का इस्तेमाल करते समय, स्कीमा के नामों और निजी फ़ील्ड को ओवरराइड करने से जुड़ी समस्याएं ठीक की गईं.

वर्शन 1.1.0-alpha02

24 अगस्त, 2022

androidx.appsearch:appsearch-*:1.1.0-alpha02 रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • शुरू से इंडेक्स बनाने के बजाय, इंडेक्स कंपैक्शन का इस्तेमाल करके Optimize की प्रोसेस को तेज़ किया गया
  • नेटिव लॉगिंग टैग को "icing" से बदलकर "AppSearchIcing" कर दिया गया है. साथ ही, डिफ़ॉल्ट रूप से INFO मैसेज लॉग किए जाते हैं

एपीआई में हुए बदलाव

  • रास्तों के साथ काम करने के लिए, नया PropertyPath ऑब्जेक्ट जोड़ा गया है. साथ ही, PropertyPath स्वीकार करने के लिए नए addProjection तरीके जोड़े गए हैं. (I45588)
  • builtin:Thing को AppSearch के बिल्ट-इन टाइप (I55427) में जोड़ा गया
  • GenericDocument में खाली प्रॉपर्टी के नाम को तुरंत रोकने की सुविधा – पहले इन्हें इंडेक्सिंग के समय रोका जाता था. अब इन्हें GenericDocument.Builder.build() के समय रोका जाता है (I9e780)

गड़बड़ियां ठीक की गईं

  • RELEVANCE स्कोरिंग की परफ़ॉर्मेंस को बेहतर बनाने के लिए, ग़ैर-ज़रूरी स्ट्रिंग फ़ॉर्मैटिंग को हटाया गया
  • ऐसे दस्तावेज़ों के लिए बेहतर पेज नंबरिंग की सुविधा जिन्हें पढ़ा नहीं जा सकता या जिन्हें मिटा दिया गया है
  • गार्बेज कलेक्शन की सुविधा लागू की गई, ताकि छोड़ी गई क्वेरी को हटाया जा सके
  • दस्तावेज़ों के लिए, नेस्ट की गई इंडेक्सिंग की सुविधा से जुड़ी समस्या ठीक की गई. इससे पहले, indexNestedProperties को अनदेखा किया जाता था. (Iae9a6)

बाहरी योगदान

  • शिया स्मिथ: दस्तावेज़ों के लिए नेस्टेड इंडेक्सिंग की सुविधा से जुड़ी समस्या ठीक की गई. (Iae9a6)

वर्शन 1.1.0-alpha01

15 जून, 2022

androidx.appsearch:appsearch-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 को प्री-रिलीज़ की निजी ब्रांच में डेवलप किया गया था. इसमें सार्वजनिक तौर पर कोई बदलाव नहीं किया गया है.

एपीआई में हुए बदलाव

  • ListenableFuture वैल्यू देने वाले सभी तरीकों के नाम बदल दिए गए हैं. अब इनके नाम के आखिर में Async जोड़ा गया है. उदाहरण के लिए, getSchema का नाम बदलकर getSchemaAsync कर दिया गया है. पिछले वर्शन अब काम नहीं करते. इन्हें आने वाले समय में हटा दिया जाएगा.

नई सुविधाएं

  • appsearch-builtin-types की पहली रिलीज़. इस प्रोजेक्ट में, schema.org पर आधारित कुछ बिल्ट-इन टाइप शामिल हैं. क्लाइंट को सामान्य ऑब्जेक्ट के लिए अपने टाइप तय करने के बजाय, इनका इस्तेमाल करना आसान लग सकता है. आने वाली रिलीज़ में, और टाइप जोड़े जाएंगे.
  • ShortcutAdapter का इस्तेमाल करके, AppSearch दस्तावेज़ को ShortcutInfoCompat में बदलने की सुविधा. इससे क्लाइंट को, core-google-shortcuts लाइब्रेरी का इस्तेमाल करके Google के साथ AppSearch दस्तावेज़ शेयर करने का तरीका मिलता है
  • @Document क्लास के साथ इनहेरिटेंस का इस्तेमाल करने की सुविधा. फ़ील्ड को बदला या उनमें बदलाव नहीं किया जा सकता. हालांकि, @Document के साथ एनोटेट की गई क्लास को बढ़ाकर नए फ़ील्ड जोड़े जा सकते हैं.
  • नया Observer API. इससे क्लाइंट, सूचनाएं पाने के लिए रजिस्टर कर सकते हैं. ऐसा तब किया जा सकता है, जब उनके पास ऐक्सेस वाले टाइप में बदलाव हुआ हो या उन टाइप के दस्तावेज़ जोड़े गए हों, उनमें बदलाव किया गया हो या उन्हें हटाया गया हो. अहम जानकारी: फ़िलहाल, सूचनाएं सिर्फ़ तब मिलती हैं, जब आपका ऐप्लिकेशन चल रहा हो. फ़िलहाल, आपके ऐप्लिकेशन के बंद होने के दौरान हुए बदलावों की जांच करने का कोई तरीका नहीं है. इसलिए, आपको पूरी जानकारी के लिए इस एपीआई पर भरोसा नहीं करना चाहिए.
  • प्रॉपर्टी पार्सर एपीआई, जिसकी मदद से MatchInfo#getPropertyPath से मिले प्रॉपर्टी पाथ को पूरी तरह से हैंडल और उनकी जांच की जा सकती है.
  • ग्लोबल getById और ग्लोबल getSchema एपीआई, उन ऐप्लिकेशन से दस्तावेज़ और स्कीमा वापस पाने के लिए इस्तेमाल किया जाता है जिन्होंने आपको दिखने की अनुमति दी है.
  • आपके पास जिस डेटा का ऐक्सेस है उसके लिए, getSchema में दिखने की जानकारी वापस पाने की सुविधा
  • ऐसी सुविधा जो Android की कुछ अनुमतियां रखने वाले ऐप्लिकेशन को जानकारी देखने की अनुमति देती है. हालांकि, यह सुविधा अनुमति वाली चुनिंदा अनुमतियों के लिए ही उपलब्ध है
  • एनोटेशन प्रोसेसर में, बूलियन फ़ील्ड के लिए isFoo()-स्टाइल वाले गेटर की सुविधा जोड़ी गई है. इसके अलावा, hasFoo() स्टाइल का इस्तेमाल पहले की तरह किया जा सकता है
  • @RequiresFeature के पीछे सुरक्षित की गई नई सुविधाओं के लिए सहायता. AppSearchSession#getFeatures का इस्तेमाल करके पता लगाएं कि मौजूदा बैकएंड किन सुविधाओं के साथ काम करता है.
  • किसी दस्तावेज़ के लिए, ~13 हज़ार टोकन की सीमा हटा दी गई है
  • इमोजी जैसे गैर-एएससीआईआई और गैर-अल्फ़ान्यूमेरिक वर्णों के आधार पर मैच करने की अनुमति दें

गड़बड़ियां ठीक की गईं

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, नेस्ट किए गए ऐसे टाइप को बदलने पर SetSchema काम नहीं करता था जो काम नहीं करता.
  • @AutoValue के तौर पर एनोटेट की गई क्लास को AppSearch @Document क्लास के तौर पर इस्तेमाल करने से जुड़ी समस्याओं को ठीक किया गया है
  • दस्तावेज़ क्लास की बार-बार दिखने वाली सूचियों और अन्य समस्याओं से जुड़ी कुछ क्रैश की समस्याओं को ठीक किया गया है
  • ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से कुछ मामलों में प्रीफ़िक्स खोज क्रैश हो जाती थी
  • GetStorageInfo में मौजूद एक छोटी गड़बड़ी को ठीक किया गया है. इस गड़बड़ी की वजह से, IO फ़ेल होने पर गलत वैल्यू मिलती थीं
  • दस्तावेज़ पढ़ते समय BUSADDERR से जुड़ी समस्याएं ठीक करना
  • बिना फ़ॉर्मैट किए गए फ़िंगरप्रिंट को प्रिंट करने की वजह से, logcat के खराब होने की समस्या को ठीक किया गया
  • IO फ़ेल होने की वजह से होने वाली 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)
  • packagename+certificate के ज़रिए डेटा शेयर करने के लिए, PackageIdentifier के फ़िंगरप्रिंट जनरेट करने के तरीके से जुड़े दस्तावेज़ में ज़्यादा जानकारी जोड़ें

गड़बड़ियां ठीक की गईं

  • नतीजों का सेट खत्म होने के बाद, अगर उपयोगकर्ता नतीजों के पेज फ़ेच करने की कोशिश करता है, तो क्रैश होने की समस्या ठीक की गई
  • क्वेरी फ़िल्टर के तौर पर सिर्फ़ अमान्य नेमस्पेस दिए जाने पर, सभी नेमस्पेस के लिए क्वेरी किए जाने की समस्या को ठीक किया गया
  • अगर सिर्फ़ अमान्य नेमस्पेस को remove-by-query फ़िल्टर के तौर पर दिया गया था, तो सभी नेमस्पेस हटा दिए जाते थे. इस समस्या को ठीक किया गया हैLo
  • उस समस्या को ठीक किया गया है जिसमें बहुत बड़े दस्तावेज़ों के लिए, दस्तावेज़ का डेटा किसी खास पॉइंट के बाद इंडेक्स नहीं किया जाता था
  • उस समस्या को ठीक किया गया है जिसमें टोकनाइज़ेशन, नॉन-Ascii न्यूमेरिक वर्णों वाले सेगमेंट को हटा देता था
  • शुरू करने की कोशिश लगातार फ़ेल होने की जांच करने की सुविधा जोड़ी गई है, ताकि संभावित खराब स्थिति से बाहर निकलने में मदद मिल सके. इससे, शुरू करने की प्रोसेस को पूरा होने से रोका जा सकता है.

वर्शन 1.0.0-alpha03

21 जुलाई, 2021

androidx.appsearch:appsearch-*:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Android S में लॉन्च होने वाली नई android.app.appsearch.AppSearchManager सेवा के साथ AppSearch API का इस्तेमाल करने के लिए, Platform Storage Backend को रिलीज़ किया गया है. ज़्यादा जानकारी के लिए, कृपया AppSearch Developer Guide पर जाएं.
  • AutoValue के लिए एनोटेशन प्रोसेसर की सुविधा
  • सिंगल स्ट्रिंग प्रॉपर्टी के लिए, ज़्यादा से ज़्यादा साइज़ की सीमा हटा दी गई है
  • शुरू होने में लगने वाले समय को कम करने के लिए, स्टोरेज का नया फ़ॉर्मैट
  • डेटा को पुराने स्टोरेज फ़ॉर्मैट से नए स्टोरेज फ़ॉर्मैट में एक बार इंटरनल तौर पर माइग्रेट करना

गड़बड़ियां ठीक की गईं

  • नए दस्तावेज़ों को शामिल करते समय, दस्तावेज़ों की ज़्यादा से ज़्यादा सीमा को सही तरीके से लागू करता है
  • 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 है.