我想在iPhone应用程序中实现全文搜索。我将数据存储在可通过Core Data框架访问的sqlite数据库中。仅对每个搜索词和列使用谓词并对一堆“ contains [cd]”短语进行“或”运算就根本无法正常工作。
您做了什么工作似乎效果良好?
我们的FTS3可以很好地处理150,000多个记录。我们正在获得亚秒级的查询时间,通过单个关键字查询返回200多个结果。
目前,使Sqlite FTS3在iPhone上运行的唯一方法是编译您自己的二进制文件并将其链接到您的项目。据我所知,您自己的项目中包含的二进制文件不适用于Core Data。也许苹果会在将来的版本中打开FTS3编译器选项吗?
您仍然可以链接自己的Sqlite FTS3二进制文件,并将其仅用于全文搜索。这与在Web App环境中使用Sphinx或Lucene的方式非常相似。请注意,您仍将必须在某个时刻更新搜索索引,以保持与Core Data存储的同步性。
祝你好运 !!