2017-04-21 122 views
0

我认为狮身人面像精确匹配列字符串

Match('^Word$') 

那只发现,正是“字”记录

不过虽然这确实为单个词的工作也并不为复式:

Match ('^Final Word$') 

查找'最后的单词'和'最后和最后一个单词'。

一样

Match ('^"Final Word"$') 

我如何告诉狮身人面像只找到完全匹配?


更新:经过一些测试最好我能做的就是加权/排序器和W/O“”

MATCH('^Final Word$') order by weight() desc limit 1 desc OPTION ranker=PROXIMITY_BM25 

所以我被迫与排名,并限制完全匹配,仍然会很高兴知道如何真正说'只返回完全匹配'。

上面的一个问题是如果我做而不是在表中有'最终的词'它会找到所有其他的例如'最后的和最后的'这是我不想要的行为。

回答

0

你刚收到你们的运营商在错误的顺序:)

Match('"^Final Word$ "') 

(有空间$一些神秘的狮身人面像的bug帮助后!)

+0

由于某些原因,无论匹配如何,该方法都会返回零结果。 – user3649739

+0

什么版本的狮身人面像?在$后面尝试一个空格,在某些版本中存在一个错误,那会让人神秘失望!我试图在上面的回复中提到这个问题,但是这样做很麻烦! – barryhunter

+0

@BarrHunter我不假设你想给这个问题一个旋风?:http://stackoverflow.com/questions/43381060/indexing-euro-%E2%82%AC-and-lb-%C2%A3- in-sphinx – user3649739

0

所以这个问题竟然是,在我的努力使这项工作一步已经指定排序器

Option Ranker=PROXIMITY_BM25

这已经为我到工作,然后。什么实际工作是

Match('^Final Word$')

,然后不指定排序器或指定extended如果配置排名器有另外的定义(这是extended默认情况下)。