我正在为android开发一个宪法应用程序。我想知道存储大型文本数据的最佳方法是什么。我想要的功能是它可以搜索和快速。 如果我要使用sqlite3我应该如何创建文件以及我将它上传到应用程序中,如果我使用xml来存储它,它是否可以搜索?速度很重要。
答案 0 :(得分:1)
1)sqlite可以创建FTS (Full Text Search) tables。基本上它是一个在每个单词上都有内置索引的表。它允许您使用
等查询查找数据SELECT * FROM chapter WHERE chapter MATCH 'someword'
或
SELECT * FROM chapter WHERE chapter MATCH 'someword NEAR/6 otherword'
表示'someword和otherword之间的间隔少于6个字'。
2)至于如何在您的应用程序中包含数据库,我认为您有两个选择:
答案 1 :(得分:0)
您可以在行中分隔文本文件并将这些行存储在sqlite数据库中。
您还可以在章节中添加与组织它们的行相关的数据,关联相关主题,标签等...
然后您可以通过“全扫描”文本表来查询文本。 “从表中选择line_number,其中的行如”%word%“;
根据符合搜索条件的行,您可以调出相应的页面或章节。
这是一个简单的示例,您可以构建应用程序以生成更精细的调优查询。
但考虑到搜索时间以及如何处理搜索后发现的内容,这种方法应该有更好的成本/效益比。