在 Sphinx 中对订单运算符使用 NOT 内部查询
Using NOT inside queries with order operators in Sphinx
我正在尝试按特定顺序查询 TermA 和 TermB
TermA << TermB
还是句子
TermA SENTENCE TermB
但只有当它们之间没有出现特定单词时才需要它们
TermA -(NOT1 | NOT2 | NOT3) << TermB
但是我收到错误 "NOT cannot be used as before operand"
本质上是在寻找
TermA (-A | -B | -C) TermB
在句子内或给定的邻近度,例如
(TermA (-A | -B | -C) TermB)~10
或
TermA SENTENCE (-A | -B | -C) SENTENCE TermB
但是我使用的任何组合都失败了。警告是我刚开始使用 Sphinx
最接近的可能是
(TermA -(NOT1 | NOT2 | NOT3)) << TermB
我认为应该 运行。
但可能会排除一些匹配项。例如,如果文档 simpley 包含 NOT1 anywhere 文档将不会匹配。
我已经提出了否定断言运算符,但没有任何结果
http://sphinxsearch.com/bugs/view.php?id=1259
也链接自该错误报告,是 sphinx 论坛上的原始主题
http://sphinxsearch.com/forum/view.html?id=9869
...我确实讨论了我为该示例找到的解决方法。我认为同样的技巧可能对您有用,需要更多思考...
我正在尝试按特定顺序查询 TermA 和 TermB
TermA << TermB
还是句子
TermA SENTENCE TermB
但只有当它们之间没有出现特定单词时才需要它们
TermA -(NOT1 | NOT2 | NOT3) << TermB
但是我收到错误 "NOT cannot be used as before operand"
本质上是在寻找
TermA (-A | -B | -C) TermB
在句子内或给定的邻近度,例如
(TermA (-A | -B | -C) TermB)~10
或
TermA SENTENCE (-A | -B | -C) SENTENCE TermB
但是我使用的任何组合都失败了。警告是我刚开始使用 Sphinx
最接近的可能是
(TermA -(NOT1 | NOT2 | NOT3)) << TermB
我认为应该 运行。
但可能会排除一些匹配项。例如,如果文档 simpley 包含 NOT1 anywhere 文档将不会匹配。
我已经提出了否定断言运算符,但没有任何结果 http://sphinxsearch.com/bugs/view.php?id=1259
也链接自该错误报告,是 sphinx 论坛上的原始主题 http://sphinxsearch.com/forum/view.html?id=9869 ...我确实讨论了我为该示例找到的解决方法。我认为同样的技巧可能对您有用,需要更多思考...