1、创建mapping
PUT /my_index_name1/
{ "settings": { "index": { "number_of_shards": "3", "number_of_replicas": "0", "max_result_window": 100000 } }, "mappings": { "_doc": { "properties": { "id": { "type": "keyword", "index": "true" }, "name": { "type": "text", "index": "true", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "date_time": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis", "index": "true" }, "children": { "type": "nested", "properties": { "id": { "type": "keyword", "ignore_above": 256 } } }, "children_ids": { "type": "keyword" } } } } }
2、term查询、range查询、bool查询、分页、排序
POST http://localhost:9200/my_index_name2/ _search
{ "from": 0, "size": 10, "query": { "bool": { "must": [ { "term": { "is_delete": { "value": 0, "boost": 1 } } }, { "range": { "date_time": { "from": "2022-09-12 09:19:07", "to": null, "include_lower": true, "include_upper": true, "boost": 1 } } } ], "adjust_pure_negative": true, "boost": 1 } }, "version": true, "sort": [ { "date_time": { "order": "desc" } } ] }
3、聚合操作
{
"from": 0,
"size": 1,
"query": {
"range": {
"date_time": {
"from": "2022-09-12 09:48:59",
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
},
"version": true,
"aggregations": {
"groupCount": {
"terms": {
"field": "group_col",
"size": 10,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
}
}
}
}
4、must存在查询
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"exists": {
"field": "children_ids",
"boost": 1
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"version": true,
"sort": [
{
"date_time": {
"order": "desc"
}
}
]
}
5、must、should与通配符查询
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"range": {
"pub_time": {
"from": null,
"to": 1663035144435,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
}
],
"should": [
{
"wildcard": {
"name1.keyword": {
"wildcard": "*Tax and digital*",
"boost": 1
}
}
},
{
"wildcard": {
"name1.keyword": {
"wildcard": "*Tax and digital*",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"minimum_should_match": "1",
"boost": 1
}
},
"version": true,
"sort": [
{
"date_time": {
"order": "desc"
}
}
]
}
6、date_histogram nested_group
{
"from": 0,
"size": 0,
"query": {
"bool": {
"must": [
{
"range": {
"date_time": {
"from": 1627747200000,
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
},
{
"range": {
"date_time": {
"from": null,
"to": 1667145600000,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"version": true,
"aggregations": {
"nested_property_group": {
"nested": {
"path": "property"
},
"aggregations": {
"property_group": {
"terms": {
"field": "property.id",
"size": 1000,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
},
"aggregations": {
"property_day_group": {
"date_histogram": {
"field": "date_time",
"format": "MM-dd",
"interval": "1d",
"offset": 0,
"order": {
"_key": "asc"
},
"keyed": false,
"min_doc_count": 0
}
}
}
}
}
}
}
}