当你搜索“Stack Overflow”时,Sphinx不会显示符合“Stackoverflow”的结果
那是因为Sphinx将“Stackoverflow”索引为一个单词......而查询是两个单词。
有谁知道如何解决这个问题? (像谷歌......他们可以加入查询!)
答案 0 :(得分:2)
您可以使用wordforms功能将单词映射到不同的单词,或将多个单词匹配到单个单词。如果你想要纠正很多单词,你可以这样做。我想如果你使用这个功能,你只需要进行一次搜索,它可能比进行“或”搜索更快。
答案 1 :(得分:1)
没有必要篡改提供给Sphinx的数据。您需要做的就是在表单处理代码中略微修改对Sphinx的搜索请求,以便它包含搜索术语的各种组合并使用SPH_MATCH_EXTENDED匹配模式。特别是,对于你的例子
(Stack Overflow) | stackoverflow
答案 2 :(得分:0)
在将搜索字词发送到sphinx之前,您是否只能将搜索字词组合成一个单词?你需要做所有的serach术语,例如my search term
mysearch
,mysearchterm
和searchterm
,但这似乎可行。