AppSearch

AppSearch 是一个搜索库,用于管理本地存储的结构化数据,其中包含用于将数据编入索引和通过全文内搜索来检索数据的 API。您可以使用此库来为用户构建自定义的应用内搜索功能。
最新更新时间 当前稳定版 下一候选版 Beta 版 Alpha 版
2021 年 11 月 3 日 - - - 1.0.0-alpha04

声明依赖项

如需添加 AppSearch 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    def appsearch_version = "1.0.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.0.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")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库的改进有自己的见解,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 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 指纹以便分享数据的内容进行了澄清说明

bug 修复

  • 修复了用户尝试在结果集末尾之后提取结果页面时出现崩溃的问题
  • 修复了以下问题:如果在应用查询过滤器时只提供了无效的命名空间,则会查询所有命名空间
  • 修复了以下问题:如果在应用“按查询移除”过滤器时只提供了无效的命名空间,则会移除所有命名空间
  • 修复了以下问题:对于超大型文档,文档数据在某一特定时刻过后就会停止编入索引
  • 修复了以下问题:在进行词汇切分时,系统会丢弃带有非 ASCII 数字字符的片段
  • 添加了对连续失败的初始化尝试的检查,以帮助突破阻止初始化成功执行的潜在不良状态。

版本 1.0.0-alpha03

2021 年 7 月 21 日

发布了 androidx.appsearch:appsearch-*:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

新功能

  • 发布了平台存储后端,以允许客户端将 AppSearch API 与 Android S 中推出的新 android.app.appsearch.AppSearchManager 服务搭配使用。如需了解详情,请参阅 AppSearch 开发者指南。
  • 针对 AutoValue 的注解处理器支持
  • 移除了单个字符串属性的大小上限
  • 新增了存储格式以缩短初始化延迟时间
  • 从旧存储格式到新存储格式的一次性内部数据迁移

bug 修复

  • 插入新文档时正确强制执行文档数量上限
  • 修复了创建 AppSearchSession 期间发生崩溃的问题
  • 修复了 SetSchema 中的 bug:未检测到某些向后不兼容和索引不兼容的情况

版本 1.0.0-alpha02

2021 年 6 月 30 日

发布了 androidx.appsearch:appsearch:1.0.0-alpha02androidx.appsearch:appsearch-compiler:1.0.0-alpha02androidx.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

bug 修复

  • 改进和修复了结果摘要的计算
  • 修复了 AppSearchSession 初始化中的错误

版本 1.0.0-alpha01

2021 年 5 月 5 日

发布了 androidx.appsearch:appsearch:1.0.0-alpha01androidx.appsearch:appsearch-compiler:1.0.0-alpha01androidx.appsearch:appsearch-local-storage:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

新功能

AppSearch 是一个搜索库,用于管理本地存储的结构化数据,其中包含用于将数据编入索引和通过全文内搜索来检索数据的 API。您可以使用此库来为用户构建自定义应用内搜索功能。此初始版本为 1.0.0-alpha01