ऐप्लिकेशन खोज

AppSearch, मैनेज करने के लिए डिवाइस पर मौजूद खोज लाइब्रेरी है स्थानीय तौर पर सेव किया गया स्ट्रक्चर्ड डेटा. इसमें एपीआई की मदद से, डेटा को इंडेक्स करने और डेटा वापस पाने के लिए, इसका इस्तेमाल किया जाता है पूरे टेक्स्ट की खोज. इसका उपयोग अपने लिए कस्टम इन-ऐप खोज क्षमताएं बनाने के लिए करें उपयोगकर्ता.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
7 अगस्त, 2024 - - - 1.1.0-alpha04

डिपेंडेंसी तय करना

AppSearch पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.

उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle फ़ाइल में ज़रूरत है आपका ऐप्लिकेशन या मॉड्यूल:

ग्रूवी

dependencies {
    def appsearch_version = "1.1.0-alpha04"

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

    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-alpha04

7 अगस्त, 2024

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

नई सुविधाएं

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

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

  • AppSearch की Document.DocumentProperty एनोटेशन में indexableNestedPropertiesList और inheritIndexableNestedPropertiesFromSuperclass एनोटेशन पैरामीटर जोड़ें, ताकि नेस्ट किए गए चुनिंदा प्रॉपर्टी पाथ को इंडेक्स किया जा सके. (Iec30a)
  • AppSearch एनोटेशन प्रोसेसर (I265c9) में बिल्डर इंस्टेंस बनाने के लिए, सपोर्ट बिल्डर कंस्ट्रक्टर
  • AppSearch एनोटेशन प्रोसेसर को अपडेट करें, ताकि पॉलीमॉर्फ़िज़्म के लिए पैरंट टाइप सेट किया जा सके (I06118)
  • 'किसको दिखे' सेटिंग को मिटाने के लिए, GetSchemaRequest तरीका जोड़ा जाता है (I38379)
  • पॉलीमॉर्फ़िज़्म (Ida14a) के लिए AppSearch में addParentType का इस्तेमाल करें
  • अतिरिक्त रैंकिंग एक्सप्रेशन के लिए, एपीआई जोड़ें (I5d9f4)
  • 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 एपीआई जोड़ता है. (Id3c89)
  • आईडी (Iaecfa) के ज़रिए दस्तावेज़ों को जोड़ने के लिए एक एपीआई जोड़ा गया
  • RANKING_STRATEGY_RELEVANCE_SCORING का इस्तेमाल करते समय, कुछ प्रॉपर्टी को मार्क करना ज़्यादा ज़रूरी है. इसके लिए, प्रॉपर्टी के वेट का इस्तेमाल करें. (I069b9)
  • AppSearch में व्यक्ति संग्रह की क्वेरी के लिए व्यक्ति और ContactPoint को जोड़ें. (Ia58f9)
  • http://schema.org/ImageObject के बाद मॉडल किया गया नया दस्तावेज़ टाइप ImageObject जोड़ा गया. (I6a0c0)
  • VERBATIM टोकनाइज़र जोड़ें. यह AppSearch की जानकारी के बिना प्रॉपर्टी जोड़ने की अनुमति देता है. (I47bc0)
  • RFC822_TOKENIZATION को टोकनाइज़र टाइप के तौर पर जोड़ा गया. इससे ईमेल पतों को टोकनाइज़ेशन की अनुमति मिली. (I8a390)
  • डीबग व्यू में वैश्विक खोज चालू करें. (I51fb2)

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

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

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

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

वर्शन 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 पर वापस लौटने वाले सभी तरीकों का नाम बदलकर, एसिंक्रोनस सफ़िक्स जोड़ दिया गया है. उदाहरण के लिए, getSchema का नाम बदलकर getSchemaAsync कर दिया गया है. पिछले वर्शन अब काम नहीं करते. इन्हें आने वाले समय में हटा दिया जाएगा.

नई सुविधाएं

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

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

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

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

  • हर मैच के बारे में ज़्यादा जानकारी देने के लिए Searchनतीजे#getSubmatchRange() और Searchनतीजे#getSubmatch() जोड़ें. (I2fef6)
  • Packagename+सर्टिफ़िकेट के ज़रिए डेटा शेयर करने के लिए, PackageIdentifier के फ़िंगरप्रिंट जनरेट करने के तरीके के बारे में दस्तावेज़ साफ़ तौर पर बताना

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

  • अगर उपयोगकर्ता, नतीजे का सेट खत्म होने के बाद, नतीजों वाले पेजों को फ़ेच करने की कोशिश करता है, तो क्रैश की समस्या को ठीक किया जा सकता है
  • अगर क्वेरी फ़िल्टर के तौर पर सिर्फ़ अमान्य नेमस्पेस दिए गए थे, तो क्वेरी किए गए सभी नेमस्पेस से जुड़ी समस्या ठीक की गई
  • अगर क्वेरी के आधार पर हटाएं फ़िल्टर के तौर पर सिर्फ़ अमान्य नेमस्पेस दिए गए थे, तो हटाए जा रहे सभी नेमस्पेस से जुड़ी समस्या ठीक की गई
  • उस समस्या को ठीक करना जिसमें बहुत बड़े दस्तावेज़ों में, किसी खास तारीख के बाद दस्तावेज़ के डेटा को इंडेक्स होने से रोका गया था
  • टोकनाइज़ेशन से ऐसे सेगमेंट हट जाने की समस्या ठीक हो जाएगी जो 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 का इस्तेमाल करने की अनुमति देने के लिए, प्लैटफ़ॉर्म स्टोरेज बैकएंड रिलीज़ किया गया. ज़्यादा जानकारी के लिए, कृपया AppSearch डेवलपर गाइड पर जाएं.
  • AutoValue के लिए व्याख्या प्रोसेसर सहायता
  • सिंगल स्ट्रिंग प्रॉपर्टी के साइज़ की सीमा को हटाना
  • शुरू होने में लगने वाले समय को कम करने के लिए, स्टोरेज का नया फ़ॉर्मैट
  • पुराने स्टोरेज फ़ॉर्मैट से नए स्टोरेज फ़ॉर्मैट में, इंटरनल डेटा को सिर्फ़ एक बार माइग्रेट करना

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

  • नए दस्तावेज़ शामिल करते समय, दस्तावेज़ की तय सीमा को सही तरीके से लागू करता है
  • AppSearchsession बनाने के दौरान होने वाले क्रैश को ठीक किया गया
  • सेट स्कीमा में ऐसी गड़बड़ियां ठीक की गईं जो पुराने सिस्टम के साथ काम न करने और इंडेक्स न होने के कुछ मामलों का पता नहीं लगा रही थीं

वर्शन 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 किया गया

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

  • नतीजों के स्निपेट की गिनती करने के तरीके में सुधार और सुधार
  • AppSearchसेशन शुरू करने में आने वाली गड़बड़ियों को ठीक किया गया

वर्शन 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 है.