使用Sphinx搜索字段中的最后一个单词?

使用Sphinx搜索字段中的最后一个单词?,sphinx,Sphinx,我正在使用SphinxQL准备Sphinx搜索(事实上是NOT操作符的一部分),但无法用Mysql做一些非常简单的事情:比如“%Word”。我只需要知道某个特定单词何时是字段/字符串中的最后一个单词,但SphinxQL似乎不适合这样做 The quick brown fox jumped over the lazy dog. Lazy Dog day afternoons 我基本上是在寻找 select Description from idx_Table WHERE (MATCH('@(D

我正在使用SphinxQL准备Sphinx搜索(事实上是NOT操作符的一部分),但无法用Mysql做一些非常简单的事情:比如“%Word”。我只需要知道某个特定单词何时是字段/字符串中的最后一个单词,但SphinxQL似乎不适合这样做

The quick brown fox jumped over the lazy dog.
Lazy Dog day afternoons
我基本上是在寻找

select  Description from idx_Table WHERE (MATCH('@(Description) Fox Dog (not like '% Dog'))

我知道上面的SphinxQL根本不是正确的,但本质上是我想要实现的。

有一个字段结尾修饰符,因此可以专门匹配a字段中的最后一个单词

... WHERE MATCH('@(Description) Fox Dog$')
只有在最后一句话是“狗”的情况下,你才能得到匹配。如果想要最后两个(或更多!)单词,请使用短语标记

但仍然没有断言,除非这是最后一个词,否则与此匹配

... WHERE MATCH('@(Description) Fox Dog$ -Dog$')

将执行,很可能排除“有效”匹配

这已经足够接近了,我可以运行Dog$1,然后运行Dog$1并进行后期处理。非常感谢。
... WHERE MATCH('@(Description) Fox Dog$ -Dog$')