【问题标题】:Implementing full text search on iPhone?在 iPhone 上实现全文搜索?
【发布时间】:2011-01-03 09:57:51
【问题描述】:

我正在寻找有关在 iPhone 上对某些静态数据实施全文搜索的最佳方法的建议。

基本上我有一个应用程序,其中包含一个网站的离线版本,大约 50MB 的文本,我希望用户能够搜索术语。我想我应该以某种方式建立一个 ("word", reference_to_file_containing_word) 表或其他东西,将其放入 Core Data 或只是 sqlite,索引“word”列,然后让搜索工具搜索搜索词的表格,并取搜索词或其他东西的结果集的交集。

这不会让人们搜索短语,但它会很容易而且可能不会太慢​​。

我只想为此使用现有的 SDK 功能。我应该使用 Core Data 还是 sqlite?

有人对如何做到这一点有任何其他想法吗?

【问题讨论】:

    标签: iphone sqlite search core-data indexing


    【解决方案1】:

    答案是 SQLite 的 FTS3。谷歌一下,有很多关于如何让它在 iPhone 上运行的教程。

    在 iPhone 上使用 SQLite 的简单方法是使用 FMDB。

    【讨论】:

      【解决方案2】:

      您想将文档中的每个单词放在数据库中自己的行中吗?这将占用比文档本身更多的空间。

      我建议只搜索文本;正则表达式实际上非常快。否则,您可以相当轻松地实现Boyer-Moore

      [编辑]如果你坚持创建一个词的索引,你就比不上trie。它会比使用数据库更快,并且很可能比文档本身占用更少的空间(与数据库不同)

      【讨论】:

      • 谢谢!我想我会先尝试使用正则表达式遍历所有文件,然后如果太慢,我会从那里尝试其他事情。完成与网络相关的编程后,我对尝试有些熟悉,但没想过将它们应用于单词而不是网络前缀。
      猜你喜欢
      • 2021-10-24
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多