2017-10-18 68 views
0

我有做一個的fuziness距離一個簡單的文本字段搜索簡單彈性查詢:ElasticSearch - 模糊條款創建例外

GET /jobs/_search 
{ 
    "query": { 
    "fuzzy": { 
     "attributes.title": { 
     "value": "C#" 
     "fuzziness": 1 
     } 
    } 
    } 
} 

上面的查詢也正是它被告知這樣做,但我有一種情況我不想用一個詞來解決(模糊)另一個特定的詞。在這種情況下,我不希望C#也返回C++結果。同樣我不想cat返回car結果。

但是我仍然需要模糊選項,如果有人確實拼寫錯了cat。在這種情況下,它可以返回catcar的結果。

回答

1

我認爲這是可能與一些布爾查詢組合,應該是水木清華這樣的:

bool: 
    //should 
     //match query without fuzzy 
     //bool 
      //must 
       //must with fuzzy query 
       //must_not with match query 

(我會在後面如果沒有足夠作罷完整的例子)

+0

想看看這個作品。我瞭解你的方法。不需要完整的例子。 –

+0

該解決方案正常工作。雖然我會喜歡類似於同義詞定義的方法。猜猜這是不可能的:)謝謝! –