Uygulama Araması

AppSearch, yerel olarak depolanan yapılandırılmış verileri yönetmek için cihaz üzerinde bir arama kitaplığıdır. Bu kitaplıkta, verileri dizine eklemek ve tam metin aramayı kullanarak verileri almak için API'ler bulunur. Kullanıcılarınız için özel uygulama içi arama özellikleri oluşturmak üzere bu API'yi kullanın.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
11 Aralık 2024 - - - 1.1.0-alpha07

Bağımlılıkları beyan etme

AppSearch'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Eski

dependencies {
    def appsearch_version = "1.1.0-alpha05"

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

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

Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.1

Sürüm 1.1.0-alpha07

11 Aralık 2024

androidx.appsearch:appsearch-*:1.1.0-alpha07 yayınlanır. 1.1.0-alpha07 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Henüz kararlı olmayan yeni API yüzeylerine ExperimentalAppSearchApi ek açıklama ekleyin. (Ib09f4)
  • AppSearchSession#openBlobForWriteAsync ve ilgili yöntemler aracılığıyla ikili blob verilerinin verimli bir şekilde depolanması ve paylaşılması için destek
  • Sorgu sonuçlarını matchScoreExpression işlevi aracılığıyla puanlama ifadesine göre filtreleme desteği (Id525a)
  • Silme işleminin ana dokümandan alt dokümanlara yayılması için destek. (Ia032d)
  • Kalite kaybını en aza indirerek yerleştirme performansını artırmak için yerleştirme için kesme API'si desteği. (Id8a07)
  • SearchSpec'te addFilterDocumentIds API'yi kullanarak aramaları belirli dokümanlarla sınırlama desteği. (I7c6f1)

API Değişiklikleri

  • Ebeveyn türü bilgilerini GenericDocument'ten SearchResult'e taşıyın. (I34a1d)
  • DismissAction ve ImpressionAction dahil olmak üzere TakenAction API'de yeni işlem türleri için destek. (I0c6c7)
  • Yeni AppSearch yerleşik şeması WebPage eklendi. (I28127)

Sürüm 1.1.0-alpha06

16 Ekim 2024

androidx.appsearch:appsearch-*:1.1.0-alpha06 yayınlanır. 1.1.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • PropertyDefined sorgu işlevini temsil eden düğüm eklendi. (I1aeaf)
  • Sayısal aramayı ve mülkü kısıtlamayı temsil edecek düğümler ekleyin. (I963a9)
  • GetSearchStringParameter sorgu işlevini temsil eden bir düğüm ekleyin. (I4f99b)
  • HasProperty sorgu işlevini temsil eden bir düğüm ekleyin. (I9c1c5)
  • AST'de işlevleri uygulamak için arayüz eklendi. (I9d42e)
  • VE ve VEYA operatörleri ekleyin. (Iaa442)
  • AST'de sorguların mantıksal olumsuzlamasını temsil etmek için NegationNode ekleyin. (Ia855a)
  • Düğümleri tanımlamak için AppSearch öğesine Düğüm arayüzü ekleyin. (If42fb)
  • AppSearch için deneysel API notu ekler. (I3e57c)

Hata Düzeltmeleri

  • Muhafaza şartları için TextNodes ekleyin. (Iefd02)

Güvenlik Düzeltmesi

  • Bu değişiklik itibarıyla androidx, CVE-2024-7254'ü gidermek için protobuf 4.28.2 ile derlenir. Güvenlik açığı riskini gidermek için androidx.appsearch:appsearch-external-protobuf bağımlılığınızı en son 1.1.0-alpha06 sürümüne yükseltin.

Sürüm 1.1.0-alpha05

4 Eylül 2024

androidx.appsearch:appsearch-*:1.1.0-alpha05 yayınlanır. 1.1.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Gereksiz setEmbeddingSearchEnabled ve getEmbeddingSearchEnabled için desteği sonlandırır. setListFilterTokenizeFunctionEnabled ve getListFilterTokenizeFunctionEnabled silinir. "tokenize" sorgu işlevi silindi. getSearchStringParameter sorgu işlevi ve addSearchStringParameter işleviyle değiştirildi. (I09f5a)
  • Alarm#getComputingDevicegetOriginatingDevice olarak yeniden adlandırın. (I63121)

Sürüm 1.1.0-alpha04

7 Ağustos 2024

androidx.appsearch:appsearch-*:1.1.0-alpha04 yayınlanır. 1.1.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • LocalStorage'nin önemli APK boyutu maliyetine katlanmadan eski cihazlarda AppSearch kullanılmasına olanak tanıyan yeni PlayServicesStorage uygulaması için destek. Bu depolama uygulaması, uygulama verilerini Play Hizmetleri uygulamasında depolayarak çalışır.
  • Android 15 çalıştıran cihazlarda yeni API'ler için destek.
  • Vektörleri yerleştirerek veritabanında arama yapmayı destekler ve bu sayede belirsiz eşlemeye olanak tanır. (I2b41b)
  • AppSearch şeması modelinde üst öğe türlerini ve polimorfizmi destekleyin. (I06118)
  • Sonraki aramalarda kaliteyi artırmak için uygulamaların sonuçların ne zaman tıklandığını veya terk edildiğini bildirmesine olanak tanıyan TakenAction API'yi destekleyin. (I54091)
  • Yeni @Document.BuilderProducer ek açıklamasını tanıtarak ek açıklama işleyicisinde oluşturucular içeren sınıfları destekleyin. (Iec30a)
  • İç içe yerleştirilmiş bir dokümanın hangi özelliklerinin dizine ekleneceği konusunda daha ayrıntılı kontrol sağlar. (Iec30a)
  • Aramaları belirli doküman özelliklerine göre filtreleme desteği. (Ib2659)
  • Görünürlük ayarlarının VEYA ve VE operatörlerine izin vererek daha ayrıntılı görünürlük ayarları desteği. (I0274b)
  • Sahip uygulamanın varlığını görebilen tüm uygulamalara veri görünürlüğü verme desteği (herkese açık görünürlük). (I992e4)
  • Yalnızca belirli bir mülkte doldurulmuş verileri içeren sonuçların alınması desteklenir. (I7d94f)
  • Kişisel profilde kurumsal kişilerin alınması için destek. (Idd587)

API Değişiklikleri

  • Belirli iç içe yerleştirilmiş mülk yollarının dizine eklenmesine izin vermek için AppSearch'in Document.DocumentProperty ek açıklamalarına indexableNestedPropertiesList ve inheritIndexableNestedPropertiesFromSuperclass ek açıklama parametreleri ekleyin. (Iec30a)
  • AppSearch ek açıklama işleyicisinde oluşturucu örnekleri oluşturmak için oluşturucu oluşturucuyu destekleyin (I265c9)
  • Polimorfizm için üst tür ayarlarını desteklemek üzere AppSearch ek açıklama işleyicisini güncelleme (I06118)
  • Görünürlük ayarlarını temizlemek için GetSchemaRequest yöntemi eklendi (I38379)
  • Polimorfizm için AppSearch'te addParentType desteği (Ida14a)
  • Ek sıralama ifadeleri için API ekleme (I5d9f4)
  • SearchAction API'yi ekleme (I54091)
  • AppSearch türleri için açıklama alanı ekler (I84762)
  • Arama sorgusu ve sıralama API'lerini AppSearch (I0f6c3) içine yerleştirme
  • getDeletionPropagation (I21192) kaldırılır.

Sürüm 1.1.0-alpha03

24 Mayıs 2023

androidx.appsearch:appsearch-*:1.1.0-alpha03 yayınlanır. 1.1.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Gelişmiş sorgu API'si, gelişmiş puanlama API'si ve sayısal arama desteği. (I02d48)
  • Tek bir uygulamanın yerel depolama alanındaki tüm veritabanlarında arama yapmak için LocalStorage.createGlobalSearchSession API'yi ekler. (Id3c89)
  • Dokümanları kimliğe göre birleştirmek için bir API eklendi (Iaecfa)
  • RANKING_STRATEGY_RELEVANCE_SCORING kullanılırken belirli mülkleri işaretlemek için destek mülkü ağırlıkları daha önemlidir. (I069b9)
  • AppSearch içinde Person (Kişi) topluluğunu sorgulamak için Person ve ContactPoint ekleyin. (Ia58f9)
  • http://schema.org/ImageObject'a göre modellenmiş yeni bir doküman türü ImageObject eklendi. (I6a0c0)
  • AppSearch tarafından yorumlanmadan özellik eklemenize olanak tanıyan bir VERBATIM dize parçalayıcı ekleyin. (I47bc0)
  • E-posta adreslerinin dize parçalarına ayrılmasına olanak tanıyan bir dize parçalayıcı türü olarak RFC822_TOKENIZATION eklendi. (I8a390)
  • Hata Ayıklama görünümünde Global Arama'yı etkinleştirin. (I51fb2)

API Değişiklikleri

  • ListenableFuture döndüren ve Async son eki olmayan yöntemler kaldırıldı. (I0515f)
  • Projeksiyonları Document sınıfına göre yapılandırma özelliği eklendi. (I94576)
  • Thing ile Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint ve Person arasında alan ekleme (Id876c)

Hata Düzeltmeleri

  • appsearch-platform-storage (Ia8e61) API'sinde Android 13 özelliklerini tam olarak destekleme
  • Devralma kullanılırken şema adlarının ve özel alanların geçersiz kılınmasıyla ilgili sorunları düzeltme

Sürüm 1.1.0-alpha02

24 Ağustos 2022

androidx.appsearch:appsearch-*:1.1.0-alpha02 yayınlanır. 1.1.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Dizini sıfırdan yeniden oluşturmak yerine dizine sıkıştırma işlemini kullanarak optimizasyon sürecini hızlandırdık
  • Yerleşik günlük kaydı etiketi "icing" yerine "AppSearchIcing" olarak değiştirildi, INFO mesajları varsayılan olarak günlük kaydına eklendi

API Değişiklikleri

  • Yollarla çalışmak için yeni PropertyPath nesnesi ve PropertyPath'yi kabul etmek için yeni addProjection yöntemleri ekler. (I45588)
  • AppSearch yerleşik türlerine builtin:Thing eklendi (I55427)
  • GenericDocument'te boş mülk adlarını daha erken önleme: Daha önce dizine ekleme sırasında engelleniyordu, artık GenericDocument.Builder.build() sırasında engellenmektedir (I9e780)

Hata Düzeltmeleri

  • ALAKALILIK puanlama performansını iyileştirmek için gereksiz dize biçimlendirmesi kaldırıldı
  • Okunamayan veya silinmiş dokümanlarla karşılaşıldığında daha verimli sayfalandırma
  • Terk edilmiş sorgular için atık toplama özelliği uygulandı
  • Dokümanlar için iç içe dizine ekleme desteği düzeltildi. Daha önce indexNestedProperties yok sayılıyordu. (Iae9a6)

Harici Katkı

  • Shea Smith: Dokümanlar için iç içe dizine ekleme desteğini düzeltin. (Iae9a6)

Sürüm 1.1.0-alpha01

15 Haziran 2022

androidx.appsearch:appsearch-*:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü, özel bir ön sürüm dalında geliştirildi ve herkese açık commit içermez.

API Değişiklikleri

  • ListenableFuture döndüren tüm yöntemler, Async son ekiyle yeniden adlandırıldı. Örneğin, getSchema getSchemaAsync olarak yeniden adlandırıldı. Önceki sürümler kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak.

Yeni Özellikler

  • appsearch-builtin-types eklentisinin ilk sürümü. Bu proje, istemcilerin ortak nesneler için kendi türlerini tanımlamak yerine kullanmasının uygun olabileceği, schema.org'a dayalı bazı yerleşik türler içerir. Gelecekteki sürümlerde daha fazla tür eklenecektir.
  • AppSearch dokümanlarını ShortcutInfoCompat'ye dönüştürmek için ShortcutAdapter'ü kullanma imkanı. Bu sayede istemciler, core-google-shortcuts kitaplığını kullanarak AppSearch dokümanlarını Google ile paylaşabilir.
  • @Document sınıflarıyla devralma özelliğini kullanabilme Alanlar değiştirilemez veya değiştirilemez ancak @Document ile ek açıklama eklenmiş bir sınıf genişletilerek yeni alanlar eklenebilir.
  • İstemcilerin, erişimleri olan türler değiştiğinde veya bu türde dokümanlar eklendiğinde, değiştirildiğinde ya da kaldırıldığında bildirimlere kaydolmasına olanak tanıyan yeni Observer API. ÖNEMLİ: Mevcut uygulama yalnızca uygulamanız çalışırken bildirim gönderir. Uygulamanız durdurulmuşken yapılan değişiklikleri şu anda incelemenin bir yolu yoktur. Bu nedenle, eksiksiz bilgi için bu API'ye güvenmemelisiniz.
  • MatchInfo#getPropertyPath tarafından döndürülen mülk yollarını tam olarak işlemenize ve incelemenize olanak tanıyan mülk ayrıştırıcı API'si.
  • Size görünürlük izni veren diğer uygulamalardan doküman ve şema almak için global getById ve global getSchema API'si.
  • Erişiminiz olan veriler için getSchema'te görünürlük bilgilerini alma
  • Belirli bir Android iznine sahip uygulamalara görünürlük verme (izin verilenler listesindeki izinlerle sınırlıdır)
  • Önceden desteklenen hasFoo() stiline ek olarak ek açıklama işleyicisinde Boole alanları için isFoo() stilindeki alıcıları destekleme
  • @RequiresFeature ile korunan yeni özellikler için destek. Mevcut arka uçta hangi özelliklerin desteklendiğini belirlemek için AppSearchSession#getFeatures değerini kullanın.
  • Tekil dokümanlar için yaklaşık 13.000 jeton sınırını kaldırma
  • ASCII olmayan ve alfanümerik olmayan karakterlerde (ör. emojiler) eşleştirmeye izin verme

Hata Düzeltmeleri

  • İç içe yerleştirilmiş uyumsuz bir türün geçersiz kılınması durumunda SetSchema hatası veren hata düzeltildi.
  • AppSearch @Document sınıfları olarak kullanılan @AutoValue ek açıklamalı sınıfların tam olarak desteklenmesi için düzeltmeler
  • Belge sınıflarının tekrarlanan listeleriyle ilgili bazı kilitlenmeler ve diğer sorunlar için düzeltmeler
  • Belirli durumlarda ön ek aramasının kilitlenmesine neden olan hata düzeltildi
  • GetStorageInfo'te, IO hatalarıyla karşılaşıldığında yanlış değerler döndüren küçük hata düzeltildi
  • Belge okurken BUSADDERR sorunlarını düzeltme
  • Biçimlendirilmemiş parmak izinin yazdırılmasından kaynaklanan logcat bozulmasını düzeltme
  • G/Ç hatalarından kaynaklanan NPE'yi düzeltme
  • GetSchemaType, Get, Delete, DeleteByNamespace ve DeleteBySchemaType'te bellek sızıntısı düzeltildi

Sürüm 1.0.0

Sürüm 1.0.0-alpha04

3 Kasım 2021

androidx.appsearch:appsearch-*:1.0.0-alpha04 yayınlanır. 1.0.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Guava ListenableFuture bağımlılığı, API bağımlılığı olarak otomatik olarak getirilir

API Değişiklikleri

  • Her eşleşme hakkında daha fazla bilgi sağlamak için SearchResult#getSubmatchRange() ve SearchResult#getSubmatch() işlevlerini ekleyin. (I2fef6)
  • Verileri packagename+certificate ile paylaşmak için PackageIdentifier parmak izlerinin nasıl oluşturulacağıyla ilgili dokümanları netleştirin

Hata Düzeltmeleri

  • Kullanıcı sonuç grubunun sona ermesinden sonra sonuç sayfaları getirmeye çalışırsa kilitlenmeyi düzeltme
  • Sorgu filtresi olarak yalnızca geçersiz ad alanları sağlandığında tüm ad alanlarının sorgulanması sorunu düzeltildi
  • Sorgu ile kaldırma filtreleri olarak yalnızca geçersiz ad alanları sağlanırsa tüm ad alanlarının kaldırılmasıyla ilgili sorun düzeltildi.
  • Çok büyük dokümanlar için belirli bir noktadan sonra doküman verilerinin dizine eklenmesinin durdurulması sorunu düzeltildi
  • Jeton oluşturma işleminin, ASCII olmayan sayısal karakterler içeren segmentleri atladığı sorun düzeltildi
  • Başarılı ilk başlatmayı engelleyen olası kötü durumdan çıkmaya yardımcı olmak için art arda başarısız ilk başlatma denemeleri olup olmadığını kontrol edin.

Sürüm 1.0.0-alpha03

21 Temmuz 2021

androidx.appsearch:appsearch-*:1.0.0-alpha03 yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • İstemcilerin Android S'de kullanıma sunulan yeni android.app.appsearch.AppSearchManager hizmetiyle AppSearch API'yi kullanmasına olanak tanımak için Platform Depolama Arka Uç'u kullanıma sunuldu. Daha ayrıntılı bilgi için lütfen AppSearch Geliştirici Kılavuzu'nu ziyaret edin.
  • AutoValue için ek açıklama işleyici desteği
  • Tek dize mülkünün maksimum boyut sınırının kaldırılması
  • İlk başlatma gecikmesini azaltmak için yeni depolama alanı biçimi
  • Eski depolama biçiminden yeni depolama biçimine tek seferlik dahili veri taşıma

Hata Düzeltmeleri

  • Yeni doküman eklerken maksimum doküman sınırını doğru şekilde uygular.
  • AppSearchSession oluşturulurken kilitlenme düzeltildi
  • SetSchema'da, geriye dönük uyumsuzluk ve dizin uyumsuzluğuyla ilgili bazı durumların algılanmamasına neden olan hatalar düzeltildi

Sürüm 1.0.0-alpha02

30 Haziran 2021

androidx.appsearch:appsearch:1.0.0-alpha02, androidx.appsearch:appsearch-compiler:1.0.0-alpha02 ve androidx.appsearch:appsearch-local-storage:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Çince/Japonca/Korece/Tayca dilleri için tam destek
  • androidx.appsearch:appsearch-local-storage boyutu azaltıldı
  • Tekrarlanan mülklerin maksimum boyut sınırı kaldırıldı
  • Oluşturucu sınıflarının yeniden kullanılmasına izin verme
  • Hata ayıklama işlemini kolaylaştırmak için belirli nesnelerin toString() özelliğinde iyileştirmeler
  • Javadoc dokümanlarındaki iyileştirmeler

API Değişiklikleri

  • SearchResult#getMatches, SearchResult#getMatchInfos olarak yeniden adlandırıldı
  • @Document.Int64Property, @Document.LongProperty olarak yeniden adlandırıldı

Hata Düzeltmeleri

  • Sonuç snippet'lerinin hesaplanmasıyla ilgili iyileştirmeler ve düzeltmeler
  • AppSearchSession ilklendirmesindeki hatalarla ilgili düzeltmeler

Sürüm 1.0.0-alpha01

5 Mayıs 2021

androidx.appsearch:appsearch:1.0.0-alpha01, androidx.appsearch:appsearch-compiler:1.0.0-alpha01 ve androidx.appsearch:appsearch-local-storage:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

AppSearch, yerel olarak depolanan yapılandırılmış verileri yönetmek için kullanılan bir arama kitaplığıdır. Bu kitaplıkta, verileri dizine eklemek ve tam metin araması aracılığıyla verileri almak için API'ler bulunur. Kullanıcılarınız için özel uygulama içi arama özellikleri oluşturmak üzere bu API'yi kullanın. Bu ilk sürüm 1.0.0-alpha01.