之前做过一次视频标题的sphinx拼音和拼音首字母搜索,是将视频标题、拼音、拼音首字母提供给sphinx,对于这种情况中文搜索还好。但对于拼音、拼音首字母的搜索会出现大量的无效词汇。如我输入yw,想搜索叶问。但出现的结果可能是‘锦衣卫’、‘非缘勿扰’,出现这种结果是不合理的。一般用户不会去为了搜索'非缘勿扰'而输入‘yw’。因此对于拼音、拼音首字母的搜索不能这样直接生成。
现在想可以先将标题生成分词,再做分词的拼音和拼音首字母。对于生成的分词的拼音和拼音首字母提供给sphinx不再做分词,当做一个词汇来搜索。
这样你输入yw就不会出现‘非缘勿扰’这种情况
实例:
十月围城 -> 十月、围城 -> shiyue、weicheng -> sy、wc
如上所示:
想搜索十月围城,必须上面的一系列词汇才能搜索到。
若搜索输入yuewei、yw就不会搜索到了。
对于sphinx要考虑一下如何为sphinx提供数据。也就是拼音和拼音首字母不再分词。在配置中应该可以配置,有空看看。
es有插件可以可以实现。