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