2017-04-21 68 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默認情況下)。