首页 > 解决方案 > 移动数据库的最佳搜索库

问题描述

目前,我正在开发一个拥有超过 100 万个条目的庞大数据集的 android 项目。如下所示:

data class Point(var address: String, var location: Location)

我需要实现搜索方法来搜索所有条目的地址。我试图将数据集转换为objectbox数据库。但是,虽然我索引了地址字段,但搜索性能并没有我预期的那么好。每个搜索查询大约需要 10 秒。以下是我使用 objectBox 进行查询的方式:

val list = ObjectBox.box.query()
            .contains(Point_.address, keyword)
            .build()

您对如何进行更好的性能搜索有什么建议吗?或者也许是一个不同的搜索引擎?

标签: androidsearchobjectbox

解决方案


默认情况下,ObjectBox 中的字符串查询忽略大小写。如果使用索引,最好使用区分大小写的查询。这应该会更好地执行数量级。例如:

val list = ObjectBox.box.query()
            .contains(Point_.address, keyword, StringOrder.CASE_SENSITIVE)
            .build()

推荐阅读