(1)简单查询
curl -XGET http://127.0.0.1:9201/_search
curl -XGET http://127.0.0.1:9201/test231208/_search
curl -XGET http://127.0.0.1:9201/test231208/_doc/_search
curl -XGET http://127.0.0.1:9201/test231208/_doc/id
(2)match、match_all、multi_match查询,模糊查询,即先分词后查询;match_all查询全部数据;match针对一个field做查询,multi_match针对多个field做查询,任意一个字段符合条件就行
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"match": {
"name": "jerry"
}
}
}'
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"match_all": {}
}
}'
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"multi_match": {
"query": "jerry",
"fields": [
"name"
]
}
}
}'
(3)term查询或range查询,精确查询
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"term": {
"age": 2
}
}
}'
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"range": {
"age": {
"gte": 3,
"lte": 4
}
}
}
}'
(4)bool查询,一个或多个查询子句的组合,must表示必须匹配(类似与)、should表示选择性匹配(类似或)、must_not表示必须不匹配(类似非)、filter表示过滤条件
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"bool": {
"must": [
{
"match": {
"name": "tom"
}
},
{
"match": {
"age": 2
}
}
],
"should": [
{
"match": {
"name": "tom"
}
},
{
"match": {
"name": "jerry"
}
}
],
"must_not": [
{
"match": {
"name": "diana"
}
}
],
"filter": [
{
"range": {
"age": {
"gte": 2,
"lte": 4
}
}
}
]
}
}
}'
(5)查询部分属性字段、分页和排序
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"match_all": {}
},
"_source": {
"includes": [
"age",
"name"
]
},
"from": 0,
"size": 10,
"sort": [
{
"age": {
"order": "asc"
}
}
]
}'
(6)group by分组
curl -XGET http://127.0.0.1:9201/test231208/_search -d
'{
"query": {
"range": {
"gmt_create": {
"gte": "20230101000000",
"lte": "20240101000000"
}
}
},
"from": 0,
"size": 0,
"sort": [],
"aggs": {
"group_by_key": {
"terms": {
"field": "age"
}
}
}
}'
响应体,如下
{
"took": 7,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 2,
"relation": "eq"
},
"max_score": null,
"hits": []
},
"aggregations": {
"group_by_key": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": 2,
"doc_count": 1
},
{
"key": 4,
"doc_count": 1
}
]
}
}
}