我正在使用sphinx搜索引擎和php。在我的sql表中,我有类似这样的. mother keyboard, india pakistan, stakoverflow god
。现在当我运行索引器时。它是索引"母亲和键盘"作为不同的词。我希望它们作为单个短语进行搜索。我希望如此:如果只有mother
或仅father
到来,则不会进行搜索。我只会在mother keyboard
到来或keyboard mother
到来时进行搜索。
提前致谢
答案 0 :(得分:0)
您可以尝试搜索确切的短语(这需要您启用index_exact_words)。
所以,使用SphinxQL:
SELECT * FROM index WHERE MATCH('="mother keyboard" | ="keyboard mother"');
或者,NEAR运营商可能会提供帮助:
SELECT * FROM index WHERE MATCH('mother NEAR/1 keyboard');
Sphinx文档说,当两个子表达式在彼此的N个单词中找到时,NEAR将“匹配文档,无论顺序如何。”
您可以阅读有关扩展查询语法here
的更多信息