AppSearch
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
16 Oktober 2024 | - | - | - | 1.1.0-alpha06 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada AppSearch, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
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") }
Untuk mengetahui informasi dependensi selengkapnya, lihat Menambahkan Dependensi Build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.1
Versi 1.1.0-alpha06
16 Oktober 2024
androidx.appsearch:appsearch-*:1.1.0-alpha06
dirilis. Versi 1.1.0-alpha06 berisi commit ini.
Perubahan API
- Menambahkan node yang mewakili fungsi kueri
PropertyDefined
. (I1aeaf) - Tambahkan node untuk mewakili penelusuran numerik dan batasan properti. (I963a9)
- Tambahkan node yang mewakili fungsi kueri
GetSearchStringParameter
. (I4f99b) - Tambahkan node yang mewakili fungsi kueri
HasProperty
. (I9c1c5) - Menambahkan antarmuka untuk mengimplementasikan fungsi di AST. (I9d42e)
- Tambahkan operator DAN dan ATAU. (Iaa442)
- Menambahkan
NegationNode
untuk mewakili negasi logis dari kueri di AST. (Ia855a) - Tambahkan antarmuka Node ke
AppSearch
untuk menentukan node. (If42fb) - Menambahkan anotasi API Eksperimental untuk
AppSearch
. (I3e57c)
Perbaikan Bug
- Menambahkan
TextNodes
untuk istilah penangguhan. (Iefd02)
Perbaikan Keamanan
- Mulai perubahan ini, androidx dikompilasi dengan protobuf 4.28.2 untuk mengatasi CVE-2024-7254. Upgrade dependensi Anda pada
androidx.appsearch:appsearch-external-protobuf
ke versi terbaru 1.1.0-alpha06 untuk mengatasi risiko kerentanan.
Versi 1.1.0-alpha05
4 September 2024
androidx.appsearch:appsearch-*:1.1.0-alpha05
dirilis. Versi 1.1.0-alpha05 berisi commit ini.
Perubahan API
- Menghentikan penggunaan
setEmbeddingSearchEnabled
dangetEmbeddingSearchEnabled
yang tidak perlu. MenghapussetListFilterTokenizeFunctionEnabled
dangetListFilterTokenizeFunctionEnabled
. Fungsi kueri 'tokenize' telah dihapus. Diganti dengan fungsi kuerigetSearchStringParameter
dan fungsiaddSearchStringParameter
. (I09f5a) - Mengganti nama
Alarm#getComputingDevice
menjadigetOriginatingDevice
. (I63121)
Versi 1.1.0-alpha04
7 Agustus 2024
androidx.appsearch:appsearch-*:1.1.0-alpha04
dirilis. Versi 1.1.0-alpha04 berisi commit ini.
Fitur Baru
- Dukungan untuk implementasi
PlayServicesStorage
baru, yang memungkinkan penggunaanAppSearch
di perangkat lama tanpa menimbulkan biaya ukuran apk yang signifikan dariLocalStorage
. Implementasi penyimpanan ini berfungsi dengan menyimpan data aplikasi dalam aplikasi Layanan Play. - Dukungan untuk API baru di perangkat yang menjalankan Android 15.
- Mendukung penelusuran database dengan menyematkan vektor, sehingga memungkinkan pencocokan fuzzy. (I2b41b)
- Mendukung jenis induk dan polimorfisme dalam model skema
AppSearch
. (I06118) - Mendukung
TakenAction
API yang memungkinkan aplikasi melaporkan saat hasil diklik atau ditinggalkan, untuk peningkatan kualitas selama penelusuran berikutnya. (I54091) - Mendukung class dengan builder di pemroses anotasi dengan memperkenalkan anotasi
@Document.BuilderProducer
baru. (Iec30a) - Mendukung kontrol yang lebih terperinci atas properti dokumen bertingkat yang akan diindeks. (Iec30a)
- Dukungan untuk memfilter penelusuran ke properti dokumen tertentu. (Ib2659)
- Mendukung setelan visibilitas yang lebih terperinci dengan mengizinkan OR dan AND setelan visibilitas. (I0274b)
- Dukungan untuk memberikan visibilitas data ke semua aplikasi yang dapat melihat keberadaan aplikasi pemilik (visibilitas publik). (I992e4)
- Dukungan untuk hanya mengambil hasil yang memiliki data yang diisi di properti tertentu. (I7d94f)
- Dukungan untuk mengambil kontak perusahaan di profil pribadi. (Idd587)
Perubahan API
- Tambahkan parameter anotasi
indexableNestedPropertiesList
daninheritIndexableNestedPropertiesFromSuperclass
ke anotasiDocument.DocumentProperty
AppSearch untuk mengizinkan pengindeksan jalur properti bertingkat tertentu. (Iec30a) - Mendukung konstruktor builder untuk membuat instance builder dalam pemroses anotasi
AppSearch
(I265c9) - Memperbarui pemroses anotasi
AppSearch
untuk mendukung penetapan jenis induk untuk polimorfisme (I06118) - Menambahkan metode
GetSchemaRequest
untuk menghapus setelan visibilitas (I38379) - Mendukung
addParentType
di AppSearch untuk polimorfisme (Ida14a) - Menambahkan API untuk ekspresi peringkat tambahan (I5d9f4)
- Menambahkan
SearchAction
API (I54091) - Menambahkan kolom deskripsi untuk jenis
AppSearch
(I84762) - Mengaktifkan kueri penelusuran penyematan dan API peringkat ke
AppSearch
(I0f6c3) - Menghapus
getDeletionPropagation
(I21192)
Versi 1.1.0-alpha03
24 Mei 2023
androidx.appsearch:appsearch-*:1.1.0-alpha03
dirilis. Versi 1.1.0-alpha03 berisi commit ini.
Fitur Baru
- Dukungan untuk API kueri lanjutan, API penskoran lanjutan, dan penelusuran numerik. (I02d48)
- Menambahkan
LocalStorage.createGlobalSearchSession
API untuk menelusuri semua database dalam penyimpanan lokal satu aplikasi. (Id3c89) - Menambahkan API untuk menggabungkan dokumen berdasarkan ID (Iaecfa)
- Dukung bobot properti untuk menandai properti tertentu lebih penting saat menggunakan
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9) - Tambahkan Person dan
ContactPoint
untuk mengkueri korpus Person diAppSearch
. (Ia58f9) - Menambahkan jenis Dokumen baru
ImageObject
yang dimodelkan setelah http://schema.org/ImageObject. (I6a0c0) - Tambahkan tokenizer
VERBATIM
yang memungkinkan penambahan properti tanpa interpretasi olehAppSearch
. (I47bc0) - Menambahkan
RFC822_TOKENIZATION
sebagai jenis tokenizer, yang memungkinkan tokenisasi alamat email. (I8a390) - Aktifkan Penelusuran Global di Tampilan Debug. (I51fb2)
Perubahan API
- Menghapus metode yang menampilkan
ListenableFuture
dan tidak memiliki akhiran Async. (I0515f) - Menambahkan kemampuan untuk mengonfigurasi proyeksi menurut class
Document
. (I94576) - Menambahkan kolom dari
Thing
keAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
, danPerson
(Id876c)
Perbaikan Bug
- Sepenuhnya mendukung fitur Android 13 di appsearch-platform-storage (Ia8e61)
- Memperbaiki masalah penggantian nama skema dan kolom pribadi saat menggunakan pewarisan.
Versi 1.1.0-alpha02
24 Agustus 2022
androidx.appsearch:appsearch-*:1.1.0-alpha02
dirilis. Versi 1.1.0-alpha02 berisi commit ini.
Fitur Baru
- Mempercepat proses Optimize (Pengoptimalan) menggunakan pemadatan indeks, bukan membuat ulang indeks dari awal
- Mengubah tag logging native dari "icing" menjadi "AppSearchIcing", secara default mencatat pesan INFO
Perubahan API
- Menambahkan objek
PropertyPath
baru untuk digunakan dengan jalur, dan metodeaddProjection
baru untuk menerimaPropertyPath
. (I45588) - Menambahkan
builtin:Thing
ke jenis bawaanAppSearch
(I55427) - Mencegah nama properti kosong di
GenericDocument
lebih cepat – sebelumnya nama properti dicegah pada waktu pengindeksan, tetapi sekarang dicegah pada waktuGenericDocument.Builder.build()
(I9e780)
Perbaikan Bug
- Menghapus pemformatan string yang tidak perlu untuk meningkatkan performa penskoran RELEVANCE
- Penomoran halaman yang lebih efisien saat menemukan dokumen yang dihapus atau tidak dapat dibaca
- Menerapkan pembersihan sampah memori untuk kueri yang diabaikan
- Memperbaiki dukungan pengindeksan bertingkat untuk Dokumen. Sebelumnya indexNestedProperties diabaikan. (Iae9a6)
Kontribusi Eksternal
- Shea Smith: Memperbaiki dukungan pengindeksan bertingkat untuk Dokumen. (Iae9a6)
Versi 1.1.0-alpha01
15 Juni 2022
androidx.appsearch:appsearch-*:1.1.0-alpha01
dirilis. Versi 1.1.0-alpha01 dikembangkan di cabang pra-rilis pribadi dan tidak memiliki commit publik.
Perubahan API
- Semua metode yang menampilkan
ListenableFuture
telah diganti namanya agar memiliki akhiran Async. Misalnya,getSchema
telah diganti namanya menjadigetSchemaAsync
. Versi sebelumnya tidak digunakan lagi dan akan dihapus pada rilis mendatang.
Fitur Baru
- Rilis pertama appsearch-builtin-types. Project ini berisi beberapa jenis bawaan berdasarkan schema.org yang menurut klien mudah digunakan, bukan menentukan jenisnya sendiri untuk objek umum. Jenis lainnya akan ditambahkan dalam rilis mendatang.
- Kemampuan menggunakan
ShortcutAdapter
untuk mengonversi DokumenAppSearch
menjadiShortcutInfoCompat
. Ini memberi klien cara untuk berbagi dokumenAppSearch
ke Google menggunakan library core-google-shortcuts - Kemampuan untuk menggunakan warisan dengan class
@Document
. Kolom tidak dapat diganti atau diubah, tetapi kolom baru dapat ditambahkan dengan memperluas class yang dianotasi dengan@Document
. - Observer API baru yang memungkinkan klien mendaftar untuk notifikasi jika jenis yang aksesnya mereka miliki telah berubah atau jika dokumen jenis tersebut ditambahkan, diubah, atau dihapus. PENTING: Implementasi saat ini hanya mengirimkan notifikasi saat aplikasi Anda sedang berjalan. Saat ini tidak ada cara untuk memeriksa perubahan yang telah terjadi saat aplikasi Anda dihentikan. Oleh karena itu, Anda tidak boleh mengandalkan API ini untuk kelengkapan.
- Property parser API yang memungkinkan Anda sepenuhnya menangani dan memeriksa jalur properti yang ditampilkan oleh
MatchInfo#getPropertyPath
. - Global
getById
dan globalgetSchema
API untuk mengambil dokumen dan skema dari aplikasi lain yang telah memberi Anda visibilitas. - Kemampuan untuk mengambil informasi visibilitas di
getSchema
untuk data yang dapat Anda akses - Kemampuan untuk memberikan visibilitas ke aplikasi yang memiliki izin Android tertentu (dibatasi untuk serangkaian daftar izin yang disetujui)
- Mendukung pengambil gaya
isFoo()
untuk kolom boolean dalam pemroses anotasi, selain gayahasFoo()
yang didukung sebelumnya - Dukungan untuk fitur baru yang dilindungi
@RequiresFeature
. GunakanAppSearchSession#getFeatures
untuk menentukan apa yang didukung oleh backend saat ini. - Menghapus batas token ~13k pada setiap dokumen
- Mengizinkan pencocokan pada karakter non-ascii+non-alfanumerik, seperti emoji
Perbaikan Bug
- Memperbaiki bug yang akan menggagalkan
SetSchema
saat mengganti jenis bertingkat yang tidak kompatibel. - Memperbaiki agar sepenuhnya mendukung class beranotasi
@AutoValue
yang digunakan sebagai class@Document
AppSearch - Memperbaiki beberapa error yang berkaitan dengan daftar berulang class Dokumen dan masalah lainnya
- Memperbaiki bug yang akan menyebabkan error pada penelusuran awalan dalam keadaan tertentu
- Memperbaiki bug minor di
GetStorageInfo
yang akan menampilkan nilai salah saat mengalami kegagalan IO - Memperbaiki masalah
BUSADDERR
saat membaca dokumen - Memperbaiki kerusakan logcat yang disebabkan oleh pencetakan sidik jari yang tidak diformat
- Memperbaiki NPE yang disebabkan oleh kegagalan IO
- Memperbaiki kebocoran memori dalam
GetSchemaType
,Get
,Delete
,DeleteByNamespace
, danDeleteBySchemaType
Versi 1.0.0
Versi 1.0.0-alpha04
3 November 2021
androidx.appsearch:appsearch-*:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Fitur Baru
- Dependensi ListenableFuture Guava otomatis disertakan sebagai dependensi API
Perubahan API
- Menambahkan SearchResult#getSubmatchRange() dan SearchResult#getSubmatch() untuk memberikan informasi selengkapnya tentang setiap kecocokan. (I2fef6)
- Memperjelas dokumentasi tentang cara membuat sidik jari PackageIdentifier untuk berbagi data menggunakan packagename+certificate
Perbaikan Bug
- Memperbaiki error saat pengguna mencoba mengambil halaman hasil setelah akhir penetapan hasil
- Memperbaiki masalah terkait semua namespace yang dikueri jika hanya namespace tidak valid yang disediakan sebagai filter kueri
- Memperbaiki masalah terkait semua namespace yang dihapus jika hanya namespace tidak valid yang disediakan sebagai filter hapus menurut kueri
- Memperbaiki masalah ketika data dokumen berhenti diindeks setelah titik tertentu, untuk dokumen berukuran sangat besar
- Memperbaiki masalah saat tokenisasi akan menghapus segmen dengan karakter numerik non-ASCII
- Menambahkan pemeriksaan terhadap upaya inisialisasi yang gagal berturut-turut guna membantu menghilangkan potensi status buruk yang mencegah inisialisasi berhasil.
Versi 1.0.0-alpha03
21 Juli 2021
androidx.appsearch:appsearch-*:1.0.0-alpha03
dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Fitur Baru
- Rilis Backend Penyimpanan Platform untuk memungkinkan klien menggunakan AppSearch API dengan layanan
android.app.appsearch.AppSearchManager
baru yang diluncurkan di Android S. Untuk detail selengkapnya, buka Panduan Developer AppSearch. - Dukungan pemroses anotasi untuk AutoValue
- Penghapusan batas ukuran maksimum untuk properti string tunggal
- Format penyimpanan baru untuk mengurangi latensi inisialisasi
- Migrasi data internal satu kali dari format penyimpanan lama ke format penyimpanan baru
Perbaikan Bug
- Menerapkan batas dokumen maksimum dengan benar saat memasukkan dokumen baru
- Memperbaiki error selama pembuatan AppSearchSession
- Memperbaiki bug di SetSchema yang tidak mendeteksi beberapa kasus inkompatibilitas mundur dan inkompatibilitas indeks
Versi 1.0.0-alpha02
30 Juni 2021
androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
, dan androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.
Fitur Baru
- Dukungan penuh untuk bahasa Cina/Jepang/Korea/Thailand
- Mengurangi ukuran
androidx.appsearch:appsearch-local-storage
- Penghapusan batas ukuran maksimum properti berulang
- Mengizinkan penggunaan ulang class builder
- Peningkatan pada
toString()
objek tertentu untuk memudahkan proses debug - Peningkatan dokumentasi Javadoc
Perubahan API
- Mengganti nama
SearchResult#getMatches
menjadiSearchResult#getMatchInfos
- Mengganti nama
@Document.Int64Property
menjadi@Document.LongProperty
Perbaikan Bug
- Peningkatan dan perbaikan pada komputasi cuplikan hasil
- Perbaikan bug pada inisialisasi AppSearchSession
Versi 1.0.0-alpha01
5 Mei 2021
androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
, dan androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
AppSearch adalah library penelusuran untuk mengelola data terstruktur yang disimpan secara lokal, dengan API untuk mengindeks data dan mengambil data melalui penelusuran teks lengkap. Gunakan AppSearch untuk membuat kemampuan penelusuran dalam aplikasi khusus untuk pengguna Anda. Rilis awalnya adalah 1.0.0-alpha01
.