是否建议不使用没有数据库的Lucene索引?

时间:2013-07-30 01:09:31

标签: ios lucene clucene

我正在开发一个iOS应用程序,其中包含约600本书,每本约90页(.pdf文档)。我采取的方法是将所有文本放在分成段落的数据库中,然后我调用并显示。为了提高搜索速度,我使用CLucene从数据库中索引了所有必需的数据并实现了,我现在有两个数据副本,而且我从索引而不是数据库获得了更好的访问时间。

我的问题是:建议不要使用没有数据库的应用程序,只是从索引中提取所有数据,即使在没有执行搜索的情况下也是如此。这会改善我的应用程序的速度和大小,因为数据库不会被包含但是可取吗?

我非常感谢任何有关此方面的帮助/建议,因为我在这方面缺乏经验,而且这是我第一次使用任何类型的搜索API。

1 个答案:

答案 0 :(得分:1)

不要太担心重复数据 。您必须要注意的是确保只有必需的数据存储在Lucene索引中。因此,如果您实际上不直接从索引显示完整章节,请不要存储它们,只需索引它们即可。这样,它不是重复数据。

此外,您会发现,如果您希望数据可编辑,可维护和可备份,则可以更长时间地将数据保存在数据库中。但是,这并不意味着您必须使用MySQL或MS SQL之类的关系数据库。还有许多NoSQL数据库选项。

我不会详细介绍NoSQL的优点和缺点,因为你可以google。但是,您可以使用MongoDB来存储和提供所有数据,而不是使用数据库 Lucene,它仍然是非常快速且可扩展的解决方案。