這是我參與8月更文挑戰的第9天,活動詳情查看:8月更文挑戰api
本Elasticsearch相關文章的版本爲:7.4.2markdown
返回與提供的文本、數字、日期或布爾值匹配的文檔。注意點:在匹配以前根據所查詢的字段調用此字段的analyzer進行分析提供的文本。post
該match
查詢是執行全文搜索的標準查詢,包括用於模糊匹配的選項。測試
POST /match_test/_doc/1
{
"my_text": "my Favorite food is cold porridge"
}
POST /match_test/_doc/2
{
"my_text": "when it's cold my favorite food is porridge"
}
複製代碼
請求數據:spa
POST /match_test/_search
{
"query": {
"match": {
"my_text": "Favorite"
}
}
}
複製代碼
相應數據:code
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 0.19363809,
"hits" : [
{
"_index" : "match_test",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.19363809,
"_source" : {
"my_text" : "my Favorite food is cold porridge"
}
},
{
"_index" : "match_test",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.17225473,
"_source" : {
"my_text" : "when it's cold my favorite food is porridge"
}
}
]
}
}
複製代碼
由於match查詢會對輸入的數據進行分詞處理,Favorite通過standard analyzer處理後就是favorite了,因此同時命中doc1和doc2。orm
query
索引
(必需)您但願在提供的 <field>
.ip
在執行搜索以前,match
查詢會分析任何提供的文本。這意味着match
查詢能夠搜索text
"文本數據類型"分析標記的字段,而不是精確的術語。文檔
analyzer
(可選,字符串)[分析器]用於將query
值中的文本轉換爲標記。默認爲field映射的[索引分析器]。若是沒有映射分析器,則使用索引的默認分析器。
fuzziness
(可選,字符串)容許匹配的最大編輯距離。
max_expansions
(可選,整數)查詢將擴展到的最大分詞數。默認爲50
.
prefix_length
(可選,整數)用於模糊匹配的起始字符數保持不變。默認爲0
.
fuzzy_transpositions
(可選,布爾值)若是true
,模糊匹配的編輯包括兩個相鄰字符的換位(ab → ba)。默認爲true
.
operator
(可選,字符串)用於解釋query
值中文本的布爾邏輯。有效值爲:
OR
(默認)
例如,query
值capital of Hungary
被解釋爲capital OR of OR Hungary
。
AND
例如,query
值capital of Hungary
被解釋爲capital AND of AND Hungary
。
minimum_should_match
(可選,字符串)必須與要返回的文檔匹配的最小子句數。