android - 移动数据库的最佳搜索库
问题描述
目前,我正在开发一个拥有超过 100 万个条目的庞大数据集的 android 项目。如下所示:
data class Point(var address: String, var location: Location)
我需要实现搜索方法来搜索所有条目的地址。我试图将数据集转换为objectbox
数据库。但是,虽然我索引了地址字段,但搜索性能并没有我预期的那么好。每个搜索查询大约需要 10 秒。以下是我使用 objectBox 进行查询的方式:
val list = ObjectBox.box.query()
.contains(Point_.address, keyword)
.build()
您对如何进行更好的性能搜索有什么建议吗?或者也许是一个不同的搜索引擎?
解决方案
默认情况下,ObjectBox 中的字符串查询忽略大小写。如果使用索引,最好使用区分大小写的查询。这应该会更好地执行数量级。例如:
val list = ObjectBox.box.query()
.contains(Point_.address, keyword, StringOrder.CASE_SENSITIVE)
.build()
推荐阅读
- android - SystemClock.sleep 或 Thread.sleep 是否只是停止 UI?
- ruby-on-rails - 为什么 `bundle exec rake test` 在 Ubuntu 19.10 (PopOS) 中挂起?
- json - 确保在 JSON 模式中数组只有一个属性为真
- yii - 如何在搜索中显示来自同一个表的 2 个表单
- c# - 循环遍历数据表以在一列中查找匹配值
- amazon-web-services - AWS 如何在 AWS 上部署我用 Typescript 创建的网站
- regex - Sed 只识别部分搜索模式
- javascript - Select2:如何选择相关结果
- rest - 正确的 Restful API 设计指南
- bash - 如何在 bash 中的两个循环之间创建一对一的关系?