这是我参与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
(可选,字符串)必须与要返回的文档匹配的最小子句数。