我使用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根本不合适,但基本上就是我想要实现的目标。
答案 0 :(得分:0)
有一个字段结束修饰符,因此可以专门匹配字段中的最后一个字。
... WHERE MATCH('@(Description) Fox Dog$')
只会在最后一个单词是Dog的地方找到匹配。如果想要最后两个(或更多!)单词,请使用短语标记。
... WHERE MATCH('@(Description) "Fox Dog$ " ')
但是仍然没有断言要说,匹配这个,除非它是最后一个字
... WHERE MATCH('@(Description) Fox Dog$ -Dog$')
会执行,可能会排除'有效'火柴。