我以为
Match('^Word$')
只会找到完全属于'Word'的记录
然而,虽然这对单个单词有用,但不适用于多个单词:
Match ('^Final Word$')
找到'最后的词'和'最后和最后的词'。
和
一样Match ('^"Final Word"$')
如何告诉Sphinx只找到完全匹配?
更新:经过一些测试后,最佳我可以做的是加权/排名和没有“”
MATCH('^Final Word$') order by weight() desc limit 1 desc OPTION ranker=PROXIMITY_BM25
所以我强迫完全匹配排名和限制,仍然很高兴知道如何实际说'只返回完全匹配'。
上面的一个问题是,如果我不在表格中有“最后一句话”,它会找到所有其他人,例如“最后和最后一句话”,这是我不想要的行为。
答案 0 :(得分:0)
您的操作员输入错误:)
Match('"^Final Word$ "')
(在$之后有一个空格有助于一些神秘的狮身人面像虫!)
答案 1 :(得分:0)
所以问题是,在我努力使这项工作迈出的一步是指定排名
Option Ranker=PROXIMITY_BM25
。实际上是什么
Match('^Final Word$')
然后不指定排名或指定extended
如果配置中的排名是否定义(默认为extended
)。