Ios 建议只使用Lucene索引而不使用数据库吗?

Ios 建议只使用Lucene索引而不使用数据库吗?,ios,lucene,clucene,Ios,Lucene,Clucene,我正在开发一个iOS应用程序,它将包含大约600本书,每本约90页(.pdf文档)。我采取的方法是将所有文本放在一个数据库中,将其分成几段,然后调用并显示。为了提高搜索速度,我使用CLucene为数据库中所有需要的数据编制了索引,并意识到,我现在有两个数据副本,而且我从索引中获得了比预期的数据库更好的访问时间 我的问题是:在不使用数据库的情况下使用应用程序并从索引中提取所有数据是明智的还是建议的,即使在不执行搜索的情况下也是如此。这将提高我的应用程序的速度和大小,因为数据库将不包括在内,但是否可

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

我的问题是:在不使用数据库的情况下使用应用程序并从索引中提取所有数据是明智的还是建议的,即使在不执行搜索的情况下也是如此。这将提高我的应用程序的速度和大小,因为数据库将不包括在内,但是否可取

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

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

此外,从长远来看,如果您希望数据是可编辑、可维护和可备份的,那么将其存储在数据库中会更容易。然而,这并不意味着您必须使用像MySQL或MS SQL这样的关系数据库。还有许多NoSQL数据库选项

关于NoSQL的优点和缺点,我不会太详细,因为你可以用谷歌搜索它。但是,例如,您可以使用MongoDB来存储和服务所有数据,而不是使用数据库和Lucene,这仍然是一个非常快速和可扩展的解决方案。

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

此外,从长远来看,如果您希望数据是可编辑、可维护和可备份的,那么将其存储在数据库中会更容易。然而,这并不意味着您必须使用像MySQL或MS SQL这样的关系数据库。还有许多NoSQL数据库选项


关于NoSQL的优点和缺点,我不会太详细,因为你可以用谷歌搜索它。但是,例如,您可以使用MongoDB来存储和服务所有数据,而不是使用数据库和Lucene,这仍然是一个非常快速和可扩展的解决方案。

非常感谢。我们更关心性能,因为sqlite数据库现在在加载一本书时显示了2-4秒的延迟。我不知道iOS应用程序可以使用sqlite以外的数据库。我实际上是以非关系方式存储sqlite数据的。关于数据,我希望每4-6个月将书籍添加到系统中。两种存储方式中的任何一种都会对此产生影响吗?显示数据的最快方式是以您希望显示的形式存储数据,因此它可能已经很好了。但是,如果您遇到这样的延迟,您可能需要考虑剥离某些经常重复的数据,将其移动到更为相关的格式,然后缓存它。非常感谢。我们更关心性能,因为sqlite数据库现在在加载一本书时显示了2-4秒的延迟。我不知道iOS应用程序可以使用sqlite以外的数据库。我实际上是以非关系方式存储sqlite数据的。关于数据,我希望每4-6个月将书籍添加到系统中。两种存储方式中的任何一种都会对此产生影响吗?显示数据的最快方式是以您希望显示的形式存储数据,因此它可能已经很好了。然而,如果您遇到这样的延迟,您可能需要考虑剥离某些经常重复的数据,将其移动到更为关系化的格式,然后缓存它。