Lucene vs SQLite 全文搜索安卓应用程序



我的英语水平不好。所以请试着理解我说的话。谢谢!

我想创建一个Android词典应用程序,但我没有经验。我做了一个研究,有2种选择来创建数据库:Lucene和SQLite全文搜索。所以我做了一个应用程序作为一些教程。我发现 FTS 使用虚拟表来存储数据库,但问题是第一次将数据添加到虚拟表时应用程序冻结(从文本文件大约 10000 行)。搜索功能也需要很长时间(约10秒)

然后,我找到了其他一些关于Lucene的教程。Lucene创建了一个用于搜索的索引目录,但我不知道它有多快(大数据)。有人可以就我的问题给我一些建议吗?

我还没有将Lucene用于FTS,但是您可以在SQLite中创建一个虚拟表。但是,SQLite 中虚拟表的缺点是存储空间几乎翻了一番。

"我发现 FTS 使用虚拟表来存储数据库,但问题是第一次将数据添加到虚拟表时应用程序冻结(从文本文件大约 10000 行)。搜索功能也需要很长时间(大约 10 秒)"或者,您可以事先创建一个虚拟表,只需将 sqlite 数据库添加到 assets 文件夹中即可。

我建议你将sqlite与fts4一起使用。三大理由

  1. SQLite是Android OS的功能,它在Android中得到了很好的支持,很多人都在使用它。
  2. 扩展性好,不仅支持FTS功能,还支持其他功能。
  3. 如果您认为索引构建时间很长,只需在构建 APK 之前构建索引,然后将其放入资产中即可。 10000 行 措辞大小 DB 从资产复制到/data/data 不需要 500 毫秒

最新更新