AppSearch
AppSearch, tam metin araması kullanarak verileri dizine ekleme ve veri getirme API'leri içeren, yerel olarak depolanan yapılandırılmış verileri yönetmek için kullanılan cihaz üzerinde bir arama kitaplığıdır. 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ü
16 Ekim 2024 - - - 1.1.0-alpha06

Bağımlılıkları bildirme

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

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 bölümüne bakın.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa 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-alpha06

16 Ekim 2024

androidx.appsearch:appsearch-*:1.1.0-alpha06 yayınlandı. Sürüm 1.1.0-alpha06 bu kaydetmeleri 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#getComputingDevice listesinin adını getOriginatingDevice olarak değiştir. (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 belirsiz eşlemeye olanak tanır. (I2b41b)
  • AppSearch şema modelinde üst türleri 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 raporlamasına olanak tanıyan TakenAction API'sini 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ında VEYA ve VE değerlerine izin vererek daha ayrıntılı görünürlük ayarlarını destekleyin. (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'ün Document.DocumentProperty ek açıklamasına indexableNestedPropertiesList ve inheritIndexableNestedPropertiesFromSuperclass ek açıklama parametrelerini ekleyin. (Iec30a)
  • AppSearch ek açıklama işlemcisinde (I265c9) oluşturucu örnekleri oluşturmak için oluşturucu oluşturucuyu destekleyin
  • Polimorfizm için üst öğe türlerinin ayarlanması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 eklenmesine olanak tanıyan bir VERBATIM jeton oluşturucu 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 eklenir

API Değişiklikleri

  • Yollarla çalışmak için yeni bir 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ın daha erken engellenmesini sağlayın: Önceden 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 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 yayın öncesi 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ümlerin desteği sonlandırıldı ve bu sürümler 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.
  • Erişimlerinin olduğu türler değiştiğinde veya bu tür belgeler eklendiğinde, değiştirildiğinde ya da kaldırıldığında müşterilerin bildirim almak üzere 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 özellik ayrıştırıcı API'si.
  • Size görünürlük sağlayan diğer uygulamalardan doküman ve şema almak için kullanılan global getById ve global getSchema API.
  • 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() stilinin yanı sıra ek açıklama işleyicisinde Boole alanları için isFoo() stilindeki alıcıları destekleme
  • @RequiresFeature arkasında 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 türü geçersiz kılarken SetSchema başarısız olan hatayı düzeltin.
  • 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 koşullar altında ön ek aramasının kilitlenmesine neden olan hata düzeltildi
  • GetStorageInfo ürününde, KS hatalarıyla karşılaşıldığında yanlış değerler döndürecek küçük bir 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ınlandı. 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
  • remove-query filter
  • Çok büyük dokümanlar için belirli bir noktadan sonra doküman verilerinin dizine eklenmesinin durdurulması sorunu düzeltildi
  • Tokenleştirme işleminin, Ascii olmayan sayısal karakterler içeren segmentleri bırakmasına neden olan sorunu düzeltin
  • 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şlemci desteği
  • Tek dizeli mülkün maksimum boyut sınırının kaldırılması
  • Başlatma gecikmesini azaltan yeni depolama 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
  • Daha kolay hata ayıklama için belirli nesnelerden toString() tanesinde 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, verileri dizine ekleme ve tam metin arama üzerinden veri alma API'leri içeren, yerel olarak depolanan yapılandırılmış verileri yönetmek için kullanılan bir arama kitaplığıdır. 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.