当你搜索“堆栈溢出”,狮身人面像不会调出匹配“Stackoverflow”的结果如果有人在...之前使用Sphinx搜索引擎,你知道它是否可以加入单词吗?
这是因为Sphinx索引“Stackoverflow”作为一个单词...而查询是两个单词。
有谁知道如何解决这个问题? (如Google ...他们可以加入查询!)
当你搜索“堆栈溢出”,狮身人面像不会调出匹配“Stackoverflow”的结果如果有人在...之前使用Sphinx搜索引擎,你知道它是否可以加入单词吗?
这是因为Sphinx索引“Stackoverflow”作为一个单词...而查询是两个单词。
有谁知道如何解决这个问题? (如Google ...他们可以加入查询!)
没有必要篡改被送入狮身人面像的数据。您需要做的只是在表单处理代码中稍微修改Sphinx的搜索请求,以便它包含搜索项的各种组合,并使用SPH_MATCH_EXTENDED匹配模式。特别是,你的榜样
(Stack Overflow) | stackoverflow
难道你不只是在将搜索词汇发送到狮身人面像之前将它们合并成一个单词?你需要做所有permations的serach条款,即my search term
作为mysearch
,mysearchterm
,和searchterm
,但似乎它会工作。
可以使用wordforms功能的话映射到不同的词,或许多单词匹配一个字。如果你想要更正的话很多,你可以这样做。我想如果你使用这个功能,你只需要做一次搜索,它可能比做“或”搜索要快。
我在哪里可以放置该代码? – TIMEX 2010-02-19 21:06:39
result_ids = cl.Query(q,index)。这就是我迄今为止所做的。 – TIMEX 2010-02-19 21:07:46
这是行不通的:cl.Query((“talk radar”)|“talkradar”,index) – TIMEX 2010-02-19 21:13:58