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

Search on last word in a field using Sphinx?

我正在使用 SphinxQL 来准备 Sphinx 搜索(实际上是 NOT 运算符的一部分)但是我无法使用 Mysql 做一些非常简单的事情:比如 '% Word'。我只需要知道某个特定词什么时候是 field/string 中的最后一个词,但 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$ " ')

但是还是没有断言,匹配这个,EXCEPT当它是硬道理的时候

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

将执行,很可能会排除 'valid' 匹配项。