AppSearch
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | - | - | - | 1.1.0-alpha04 |
宣告依附元件
如要新增 AppSearch 的依附元件,必須將 Google Maven 存放區新增至您的專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增您需要的構件依附元件:
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") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
1.1 版本
1.1.0-alpha04 版本
2024 年 8 月 7 日
發布 androidx.appsearch:appsearch-*:1.1.0-alpha04
。1.1.0-alpha04 版包含這些修訂版本。
新功能
- 支援新的
PlayServicesStorage
實作項目,允許在舊版裝置上使用AppSearch
,無需支付LocalStorage
的大量 APK 大小費用。這個儲存空間實作方式是透過在 Play 服務應用程式中儲存應用程式資料。 - 在搭載 Android 15 的裝置上支援新的 API。
- 支援透過嵌入向量搜尋資料庫,提供模糊比對。(I2b41b)。
- 支援
AppSearch
結構定義模型中的父項類型和多態性。(I06118)。 - 支援
TakenAction
API,讓應用程式回報使用者點擊或放棄搜尋結果的時間,協助提升後續搜尋的品質。(I54091)。 - 導入新的
@Document.BuilderProducer
註解,在註解處理工具中使用建構工具支援類別。(Iec30a)。 - 支援更精細的控制項,進一步控管要建立索引的巢狀文件屬性。(Iec30a)。
- 支援篩選特定文件屬性的搜尋。(Ib2659)。
- 允許透過 OR 和 AND 瀏覽權限設定更精細的瀏覽權限設定。(I0274b)。
- 支援向所有應用程式授予資料瀏覽權限,允許應用程式查看主應用程式確實存在 (公開瀏覽權限)。(I992e4)。
- 支援只擷取在特定資源中填入資料的結果。(I7d94f)。
- 支援在個人資料夾中擷取企業聯絡人。(Idd587)。
API 變更
- 在 AppSearch 的
Document.DocumentProperty
註解中新增indexableNestedPropertiesList
和inheritIndexableNestedPropertiesFromSuperclass
註解參數,以允許為特定巢狀屬性路徑建立索引。(Iec30a)。 - 支援建構工具建構函式,在
AppSearch
註解處理工具中建立建構工具執行個體 (I265c9) - 更新
AppSearch
註解處理工具,以支援設定多態性的父項類型 (I06118) - 新增用於清除瀏覽權限設定的
GetSchemaRequest
方法 (I38379) - 在 AppSearch 中支援
addParentType
的多態性 (Ida14a) - 新增適用於其他排名運算式的 API (I5d9f4)
- 新增
SearchAction
API (I54091) - 新增
AppSearch
類型的說明欄位 (I84762) - 將嵌入搜尋查詢和排名 API 加入
AppSearch
(I0f6c3) - 移除
getDeletionPropagation
(I21192)
1.1.0-alpha03 版本
2023 年 5 月 24 日
發布 androidx.appsearch:appsearch-*:1.1.0-alpha03
。1.1.0-alpha03 版包含此連結所列的修訂項目。
新功能
- 支援進階查詢 API、進階評分 API 和數字搜尋。(I02d48)。
- 新增
LocalStorage.createGlobalSearchSession
API,可搜尋單一應用程式本機儲存空間中的所有資料庫。(Id3c89)。 - 新增了 API,用於依據 ID 彙整文件 (Iaecfa)
- 使用
RANKING_STRATEGY_RELEVANCE_SCORING
時,支援屬性權重以標記特定屬性。(I069b9)。 - 新增人員和
ContactPoint
以在AppSearch
中查詢人員語料庫。(Ia58f9)。 - 新增以 http://schema.org/ImageObject 建立的新文件類型
ImageObject
。(I6a0c0)。 - 新增
VERBATIM
符記化工具,允許在不由AppSearch
解讀的情況下新增屬性。(I47bc0)。 - 將
RFC822_TOKENIZATION
新增為權杖化工具類型,允許電子郵件地址進行代碼化。(I8a390)。 - 在「偵錯」檢視畫面中啟用全域搜尋。(I51fb2)。
API 變更
- 已移除傳回
ListenableFuture
,且沒有非同步後置字串的方法。(I0515f)。 - 新增依
Document
類別設定投影的功能。(I94576)。 - 將欄位從
Thing
新增至Alarm
、AlarmInstance
、Timer
、Stopwatch
、StopwatchLap
、ContactPoint
和Person
(Id876c)
修正錯誤
- 在 appsearch-platform-storage 中完整支援 Android 13 功能 (Ia8e61)
- 修正使用繼承時覆寫結構定義名稱和私人欄位的問題。
1.1.0-alpha02 版本
2022 年 8 月 24 日
發布了 androidx.appsearch:appsearch-*:1.1.0-alpha02
。查看 1.1.0-alpha02 版的修訂項。
新功能
- 使用索引壓縮 (而非從頭開始重建索引) 加快最佳化程序
- 將原生記錄標記從「icing」變更為「AppSearchIcing」,根據預設記錄 INFO 訊息
API 變更
- 新增用於處理路徑的
PropertyPath
物件,以及可接受PropertyPath
的新addProjection
方法 (I45588)。 - 已將
builtin:Thing
新增至AppSearch
內建類型 (I55427) - 盡早避免
GenericDocument
中出現空白屬性名稱 (先前是在建立索引時,現在是在GenericDocument.Builder.build()
時避免) (I9e780)
修正錯誤
- 已移除不必要的字串格式,以改善 RELEVANCE 評分效能
- 遇到無法讀取或已刪除的文件時,提高分頁效率
- 為放棄的查詢實作了垃圾收集
- 修正文件的巢狀索引支援。先前,系統會忽略 indexNestedProperties (Iae9a6)。
外部貢獻
- Shea Smith:修正文件的巢狀索引支援 (Iae9a6)。
1.1.0-alpha01 版本
2022 年 6 月 15 日
發布 androidx.appsearch:appsearch-*:1.1.0-alpha01
。1.1.0-alpha01 版本以私人的預先發布分支版本開發,並無公開修訂版本。
API 變更
- 所有傳回
ListenableFuture
的方法都已重新命名,已加上 Async 後置字串。舉例來說,getSchema
已重新命名為getSchemaAsync
。舊版已淘汰,並將在日後推出的版本中移除。
新功能
- 首次推出的 appsearch-buildin 類型。此專案包含一些以 schema.org 為基礎的內建類型,可讓用戶端更容易使用,而不是自行定義一般物件的類型。我們會在日後推出的版本中加入更多類型。
- 可使用
ShortcutAdapter
轉換AppSearch
文件至ShortcutInfoCompat
。因此,用戶端可使用 core-google-shortcuts 程式庫將AppSearch
文件分享到 Google - 可沿用
@Document
類別的機制。欄位無法替換或修改,但可以使用@Document
備註擴充新的類別以加入新的欄位。 - 新推出的 Observer API 可讓用戶端在他們可存取的類型變更,或新增、修改或移除這些類型的文件時,接收通知。重要事項:目前的實作只會在應用程式執行時傳送通知。目前您無法檢查應用程式停止期間發生的變更。因此,建議您不要依賴此 API 取得完整性資訊。
- Property parser API 可讓您完整處理及檢查
MatchInfo#getPropertyPath
傳回的屬性路徑。 - 全域
getById
和全域getSchema
API,可從您已獲得瀏覽權限的其他應用程式擷取文件和結構定義。 - 針對您具有存取權的資料,可擷取
getSchema
瀏覽權限資訊 - 可授予含有特定 Android 權限的應用程式瀏覽權限 (限制為限定的許可清單權限)
- 除了先前支援的樣式
hasFoo()
之外,註解處理工具中的布林值欄位也支援isFoo()
樣式的 getter - 支援在
@RequiresFeature
保護的新功能。請使用AppSearchSession#getFeatures
判定目前的後端支援的項目。 - 移除個別文件的權杖上限 (約 13,000 個)
- 允許比對非 ASCII 和非英數字元,例如:表情符號
修正錯誤
- 修正覆寫與建立巢狀結構不相容的類型時,會導致
SetSchema
失敗的錯誤。 - 進行修正以完整支援
@AutoValue
註解類別 (做為 AppSearch@Document
類別使用) - 修正有關文件類別重複清單和其他問題的一些當機情形
- 修正在特定情況下會導致前置字串搜尋中斷的錯誤
- 修正
GetStorageInfo
中會在發生 IO 錯誤時傳回不正確的值的細微錯誤 - 修正讀取文件時發生的
BUSADDERR
問題 - 修正顯示未格式化指紋造成的 Logcat 損毀問題
- 修正因 IO 失敗而造成的 NPE
- 修正
GetSchemaType
、Get
、Delete
、DeleteByNamespace
和DeleteBySchemaType
中的記憶體流失問題
1.0.0 版本
1.0.0-alpha04 版本
2021 年 11 月 3 日
發布 androidx.appsearch:appsearch-*:1.0.0-alpha04
。1.0.0-alpha04 版本包含以下修訂項目。
新功能
- Guava ListenableFuture 依附元件自動成為 API 依附元件
API 變更
- 新增 SearchResult#getSubmatchRange() 和 SearchResult#getSubmatch() 以提供更多與每個相符項目相關的資訊。(I2fef6)
- 詳細說明如何產生 PackageIdentifier 指紋,以依 packagename+certificate 共用資料
修正錯誤
- 修正使用者在結果組合結束後嘗試擷取結果網頁時發生的當機問題
- 修正如果只提供無效命名空間做為查詢篩選條件,就會查詢所有命名空間的問題
- 修正如果只提供無效命名空間做為「依據查詢進行移除」的篩選條件,就會移除所有命名空間的問題
- 修正文件過大時,在某個階段後文件資料停止編入索引的問題
- 修正權杖化會捨棄含有非 ASCII 數字字元的區隔問題
- 針對連續失敗的初始化嘗試來新增檢查功能,以協助排除無法成功初始化的潛在錯誤狀態。
1.0.0-alpha03 版本
2021 年 7 月 21 日
發布 androidx.appsearch:appsearch-*:1.0.0-alpha03
。1.0.0-alpha03 版包含以下修訂項目。
新功能
- 發布平台儲存空間後端,允許用戶端在 Android S 新推出的
android.app.appsearch.AppSearchManager
服務中使用 AppSearch API。詳情請參閱 AppSearch 開發人員指南。 - AutoValue 的註解處理工具支援
- 移除單一字串屬性的大小上限
- 新的儲存空間格式,可縮短初始化延遲時間
- 從舊到新儲存空間格式的一次性內部資料遷移作業
修正錯誤
- 插入新文件時可正確地強制執行文件上限
- 修正建立 AppSearchSession 時的當機問題
- 修正 SetSchema 中未偵測到某些回溯不相容性情況及索引不相容問題的錯誤
1.0.0-alpha02 版本
2021 年 6 月 30 日
發布 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 文件改善項目
API 變更
SearchResult#getMatches
已重新命名為SearchResult#getMatchInfos
@Document.Int64Property
已重新命名為@Document.LongProperty
修正錯誤
- 針對結果程式碼片段的計算進行改善與修正
- 修正 AppSearchSession 初始化作業中的錯誤
1.0.0-alpha01 版本
2021 年 5 月 5 日
發布 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 搜尋程式庫可管理本機儲存的結構化資料,並且提供 API 供資料索引與擷取 (透過全文搜尋) 作業使用。您可以使用這項功能為使用者建構自訂應用程式內搜尋功能。初始版本為 1.0.0-alpha01
。