用于在iOS包中搜索全文的工具

Rei*_*eid 8 xcode full-text-search ios

对于一般化的问题,我很抱歉...我已经找了很长时间没找到任何我可以使用或者很容易适应的东西.我真的很感激任何指针!

我正在构建一个参考应用程序,它将包含几个纯文本格式的教科书.我希望用户能够执行搜索,并获得一个包含结果列表的表格.我有一个工作原型,但我写的搜索逻辑并不是那么聪明,它一直试图让它变得更好.

这显然是一个相当普遍的问题,因此我正在寻找一种可以适应任务的工具.到目前为止,我找到了Lucene(http://vafer.org/blog/20090107014544/)和Locayta(http://www.locayta.com/iOS-search-engine/locayta-search-mobile/)

Lucene似乎最近更新了iOS 2 ...我甚至不知道我是否能够自己重做它.也许.

Locayta可能效果很好,但是商业许可证是1000美元,我可能不会很快用这个应用程序来补偿它,因为它是一个利基市场.

谢谢!

小智 5

我们偶然发现了我工作的困境,还没有决定解决方案.Locayta似乎很有希望,但除此之外,我也研究过SQLite的FTS3/FTS4.

唯一的问题似乎是缺乏匹配部分单词的方法.搜索包含整个单词的字段(例如"纸张"匹配"打印纸","纸张打孔"和"草图纸"),或者以某些内容开头的单词(例如"bi*"匹配"binder")很容易"和"自行车"),但没有内置的方法来匹配后缀.

如果您不需要该功能,FTS3/FTS4可能会起作用.

我看到你在后续文件中提到你的SQLite不能识别FTS3(),我起初遇到了同样的问题.显然,它默认不捆绑到iOS版本中,而是必须下载SQLite3合并,并手动将其包含在项目中.在SQLite的iOS版本中可以找到FTS吗?

另请注意,默认情况下不启用SQLITE_ENABLE_FTS3变量,您只需将其添加到配置中,详见http://www.sqlite.org/fts3.html#section_2

希望这可以帮助.