Match Phrase Prefix Query
阿新 • • 發佈:2017-06-29
使用 suggest clas dex 容易 -s earch mat str
Match Phrase Prefix Query
match_phrase_prefix和match_phrase是相同的,除了它允許文本中最後一項使用前綴匹配。例如:
GET /_search { "query": { "match_phrase_prefix" : { "message" : "quick brown f" } } }
它接受和短語類型一樣的參數。此外,它也接受max_expansions參數(默認50),它可以控制最後一個項有多少前綴可以擴展。它被強烈建議設置一個可接受的值,以控制查詢的時間。例如:
GET /_search { "query": { "match_phrase_prefix" : { "message" : { "query" : "quick brown f", "max_expansions" : 10 } } } }
重要:match_phrase_prefix
查詢是a poor-man’s autocomplete。它非常容易使用,讓你快速開始搜索即時類型,但它的結果,通常是足夠好的,有時也會讓產生疑惑。
考慮查詢字符串 quick brown f。此查詢通過從quick和brown創建短語查詢而工作(即quick項必須存在並且緊跟著brown項)。然後它搜索以f開通按照字典項排序的前50個項並且把這些項加入到短語查詢中。
問題是,可能前50項中可能沒有包含fox,所有quick brown fox可能沒有被找到,這通常都不是問題,用戶可以持續輸入更多的字符,直到他們搜索的詞出現為止。
更好的搜索即時類型(search-as-you-type)解決方案請看completion suggester 和 Index-Time Search-as-you-type。
原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-match-query-phrase-prefix.html
Match Phrase Prefix Query