在一个学期之前和之后的Sphinx查询

时间:2015-11-24 21:44:25

标签: sphinx

是否可以在sphinx中设置一个查询,其中一个术语必须在OR之前也匹配一个单词?

  • (TermBefore)(期限)(TermAfter)

这两个

  • TermBefore Term
  • Term TermAfter

会匹配,但

  • 期限

没有?

1 个答案:

答案 0 :(得分:1)

邻近搜索运算符几乎是为此设计的

 "Term TermAfter"~2

http://sphinxsearch.com/docs/current.html#extended-syntax

啊,我认为你的意思是'TermAfter'实际上是同一个词,只是它可以在之后之前。

但如果有两个不同的术语,可能最简单的就是:

"TermBefore Term" | "Term TermAfter"

简单的短语运算符,其中任何一个短语必须匹配。

再次编辑:

如果不希望匹配adjecent使用严格的顺序运算符,而不是htna短语运算符......

(TermBefore << Term) | (Term << TermAfter)