Sphinx 能够根据一个句子中出现的单词进行搜索。比如有一段文字:
Vasya 做得很好,他吃了黄瓜,因为 饥饿的。就这样吧。
如果要求
молодец SENTENCE огурец
然后我们会找到这段文字。如果要求
молодец SENTENCE проголодался
然后我们就不会再找到这个文本了,因为显然在 Sphinx 中,分解成句子的实现是以一种简单的方式实现的,这里遇到的第一个点被认为是句子的结尾。因此问题。
在准备索引时,如何配置 Sphinx 使其具有更智能的句子分解?任何选项都可以——在配置中指定一些东西或插入一个外部包以将其分解成句子,例如,来自 Yandex 的 Tomita 解析器。
更新
有一个想法是使用 Tomit 解析器将其提前分解成句子,并告诉 Sphinx 使用换行符作为句子分隔符,但从 Sphinx 源码来看,这不太可能成功。