【发布时间】:2020-09-22 23:09:20
【问题描述】:
目前,我正在开发一个包含超过 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 的每个查询需要 10 秒?不知道你有没有找到更好的解决方案>
-
@LeoK 是的,我不得不使用全文搜索库来提高性能。
-
谢谢。愿意分享您使用的库吗?
-
@LeoK 我正在使用这个库:github.com/lukhnos/lucenestudy/tree/…。每个查询大约需要 100 毫秒。
-
谢谢。所以它是一个搜索引擎?您是使用数据库来存储数据,还是只是将它们存储在普通文件中?我实际上使用 ObjectBox 来管理超过 500,000 条文本记录。一段文本的搜索是非常互动的。我没有测量速度,但它似乎在一秒钟内做出反应。