AppSearch
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
7 Agustus 2024 | - | - | - | 1.1.0-alpha04 |
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-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") }
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-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 sebesarLocalStorage
. 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)
- Dukung jenis induk dan polimorfisme dalam model skema
AppSearch
. (I06118) - Mendukung
TakenAction
API yang memungkinkan aplikasi melaporkan saat hasil diklik atau diabaikan, untuk peningkatan kualitas selama penelusuran berikutnya. (I54091) - Dukung class dengan builder di pemroses anotasi dengan memperkenalkan anotasi
@Document.BuilderProducer
baru. (Iec30a) - Dukung 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 detail dengan mengizinkan setelan visibilitas ATAU dan DAN. (I0274b)
- Dukungan untuk memberikan visibilitas data ke semua aplikasi yang dapat melihat keberadaan aplikasi yang memiliki (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 memungkinkan pengindeksan jalur properti bertingkat tertentu. (Iec30a) - Mendukung konstruktor builder untuk membuat instance builder dalam pemroses anotasi
AppSearch
(I265c9) - Mengupdate pemroses anotasi
AppSearch
guna mendukung setelan 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 Orang dan
ContactPoint
untuk membuat kueri korpus Person diAppSearch
. (Ia58f9) - Menambahkan jenis Dokumen baru
ImageObject
yang dimodelkan berdasarkan http://schema.org/ImageObject. (I6a0c0) - Menambahkan tokenizer
VERBATIM
yang memungkinkan penambahan properti tanpa penafsiran olehAppSearch
. (I47bc0) - Menambahkan
RFC822_TOKENIZATION
sebagai jenis tokenizer, yang memungkinkan tokenisasi alamat email. (I8a390) - Aktifkan Penelusuran Global dalam Tampilan Debug. (I51fb2)
Perubahan API
- Menghapus metode yang menampilkan
ListenableFuture
dan tidak memiliki akhiran Asinkron. (I0515f) - Menambahkan kemampuan untuk mengonfigurasi proyeksi menurut class
Document
. (I94576) - Tambahkan kolom dari
Thing
keAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
, danPerson
(Id876c)
Perbaikan Bug
- Mendukung fitur Android 13 sepenuhnya di appsearch-platform-storage (Ia8e61)
- Memperbaiki masalah terkait 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
.