2013-03-07 82 views
0

我想對單個詞做前綴模糊搜索。 基本上我想獲得相同的結果,如果搜索請求已發送:前綴模糊查詢(不使用query_string)

{ 
    "from": 0, 
    "size": 100, 
    "query": { 
    "query_string": { 
     "query": "dala~*" 
    } 
    }, 
    "filter": {} 
} 

但沒有QUERY_STRING語法分析。上面的搜索應與達拉斯期限匹配。

+0

http://stackoverflow.com/問題/ 2631206/lucene-query-bla-match-words-that-start-with-something-fuzzy-how – phani 2013-03-07 14:09:50

+0

「dala〜*」查詢字符串對我和Elastc Search查找文檔狀態肯定適用於將內部查詢字符串解析爲組合更簡單的查詢條件。所以我在尋找是否有人可以闡明它將被解析的查詢組合。 – 2013-03-07 15:31:56

+0

進一步測試後,它看起來像這個查詢「dala〜*」不能按預期工作,即它將它分成兩部分「dala〜」和「*」。並且由於上個學期所有文件都是匹配的。但是,如果可以同時獲得部分和模糊匹配,我仍然是有爭議的。 – 2013-03-07 17:51:37

回答

-1

在ElasticSearch,如果設置fuzzy_prefix_length,你應該能夠只指定模糊的波浪,並得到前綴匹配:

{ 
    "from": 0, 
    "size": 100, 
    "query": { 
    "query_string": { 
     "query": "dala~", 
     "fuzzy_prefix_length": 3 
    } 
    }, 
    "filter": {} 
} 

在精神上類似this question

+0

不適用於我。模糊前綴長度正好限制了與模式模糊匹配的詞數。 – 2013-03-11 09:40:11