在Sphinx中使用NOT内部查询和命令运算符

时间:2015-12-03 22:39:22

标签: sphinx

我正在尝试按特定顺序查询TermA和TermB

TermA << TermB

或句子

TermA SENTENCE TermB

但只有在他们之间不发生特定词语时才想要它们

TermA -(NOT1 | NOT2 | NOT3) << TermB

但是我收到错误“NOT不能用作操作数之前”

基本上试图找到

TermA (-A | -B | -C) TermB

在句子内或给定的邻近地区,例如

 (TermA (-A | -B | -C) TermB)~10

TermA SENTENCE (-A | -B | -C) SENTENCE TermB

但我使用的任何组合都失败了。警告我刚刚开始使用Sphinx

1 个答案:

答案 0 :(得分:0)

最近的可能是

(TermA -(NOT1 | NOT2 | NOT3)) << TermB

我认为应该运行。

但可能排除一些比赛。例如,如果文档simpley包含NOT1 任何地方,则文档不匹配。

我建议使用负断言运算符,但没有任何结果 http://sphinxsearch.com/bugs/view.php?id=1259

还从该错误报告中链接,是sphinx论坛上的原始帖子 http://sphinxsearch.com/forum/view.html?id=9869 ...我确实讨论了我为这个例子找到的解决方法。我认为同样的技巧可能对你有用,需要更多思考......