iOS5,iOS6 Unicode(俄语,日语,中文,韩语)全文搜索

时间:2013-02-08 10:10:33

标签: ios sqlite core-data unicode full-text-search

我需要在包含标题的2.000.000个数据库行中进行搜索,例如歌曲。我需要一个快速提供结果的解决方案,在iOS平台上运行并支持unicode charset。我正在思考关于使用sqlite的FTS来解决我的问题。我愿意接受任何其他解决方案。

这是我目前所知道的:

假设1:默认情况下在iOS> = 5中启用FTS - 这很好,我的最低要求是5

假设2:我认为,如果不自行编译sqlite,unicode折叠(Ä=> a)就无法正常工作

假设3:我知道FTS不支持像MATCH "*searchterm*"这样的子字符串搜索

假设4:我读到默认的porter stemmer非常糟糕的unicode charsets(俄语,日语,中文,......)

我目前的做法是使用LIKE "%searchterm%"语句,因为它们最适合上述语言。不幸的是,它们有时会变慢。

问题

问题1:使用FTS的sqlite是正确的方法吗?或者应该调查cLucene / CoreData等?还有什么其他选择?在iOS平台上搜索不同语言的标题的最佳方法是什么?

问题2:我是否需要更换标记器?我可以将tokenizer加载为iOS平台上的扩展程序吗?可能this是解决方案吗?

问题3: iOS 5/6上的ICU扩展是否启用了sqlite fts?

问题4: Apple的内部搜索如何运作,例如在音乐播放器? CoreData?

1 个答案:

答案 0 :(得分:1)

您可能想要查看此内容:Full Text Search w/ Core Data