ElasticSearch(es)的query语法之match

ElasticSearch(es)的query语法之match

1、查询所有数据:
body = {
"query": {
"match_all": {}
}
}

2、模糊匹配字段查询:
body = {
"query": {
"match": {"trace_stack": "吃饭睡觉"}
}
}
该query的意思是:匹配字段trace_stack中跟”吃饭睡觉“相关的所有数据,比如”吃饭xxxx“、”睡觉xxxxx“、”吃xxxx“........;

3、精确匹配字段查询:
body = {
"query": {
"match_phrase": {"trace_stack": "吃饭睡觉"}
}
}
该query会精确匹配出trace_stack等于”吃饭睡觉“的所有数据;

4、多字段模糊匹配:

body = {
    "query": {
"multi_match": {
"query": "瓦力",
"fields": ["author", "title"]
}
}
}
该query会模糊匹配出"author"和"title"约等于“瓦力”的所有数据;比如"author"等于"瓦力是一个boy";

5、查询多个条件:
query_json = {
"query": {
"bool": {
"must": [
{
"match_phrase": {key: value}
},
{
"match_phrase": {key2: value2}
}
],
"filter": {
"range": {
"@timestamp": {
"gte": f"{time_day}T01:51:32.664Z",
"lte": f"{time_day}T17:28:07.826Z",
}
}
}
}
}
}




posted @ 2021-08-02 15:06  乔儿  阅读(4290)  评论(0编辑  收藏  举报