-
创建模板
curl -X PUT "192.1.1.1:9200/_index_template/service-template?pretty" -H 'Content-Type: application/json' -d'
{
"index_patterns":[
"service-*"
],
"template":{
"settings":{
"number_of_shards":2,
"number_of_replicas":1,
"index.max_result_window":"10000"
},
"mappings":{
"dynamic_templates": [
{
"strings_as_keywords": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties":{
"id":{
"type":"keyword"
},
"value":{
"type":"short"
},
"customerFields":{
"type":"nested",
"include_in_parent":true,
"properties":{
"fieldId":{
"type":"keyword"
},
"type":{
"type":"short"
},
"sort": {
"type": "integer"
}
}
},
"remarks":{
"type":"keyword"
}
}
}
}
}' -
查询模板
curl -X GET "192.1.1.1:9200/_index_template/service-template?pretty"
- 删除模板
curl -X DELETE "192.1.1.1:9200/_index_template/service-template?pretty"
- 创建表
curl -X PUT "192.1.1.1:9200/service-2025-02?pretty"
- 查询表
curl -X GET "192.1.1.1:9200/service-2025-02/_mapping?pretty"
- 删除表
curl -X DELETE "192.1.1.1:9200/service-2025-02/_search?pretty"
-
添加普通字段
curl -X POST "192.1.1.1:9200/service-2025-01,service-2025-02/_mapping?pretty" -H 'Content-Type: application/json' -d'
{
"properties":{
"remark": {
"type": "integer"
}
}
}' -
添加嵌套字段
curl -X POST "192.1.1.1:9200/service-2025-01,service-2025-02/_mapping?pretty" -H 'Content-Type: application/json' -d'
{
"properties":{
"customerFields": {
"type":"nested",
"include_in_parent":true,
"properties":{
"sort":{
"type":"integer"
}
}
}
}
}'
9.查询表结构
curl -X GET "192.1.1.1:9200/service-2025-02/_mapping?pretty"
-
给模板增加自动清理时间(高级属性)
curl -X PUT "192.1.1.1:9200/_ilm/policy/service_polic?pretty" -H 'Content-Type: application/json' -d'
{
"policy": {
"phases": {
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}'
11. 给模板增加setting(高级属性)
curl -X PUT "192.1.1.1:9200/_index_template/service-template?pretty" -H 'Content-Type: application/json' -d'
{
"index_patterns":[
"service-*"
],
"template":{
"settings":{
"number_of_shards":2,
"number_of_replicas":1,
"index.max_result_window":"10000",
"index.lifecycle.name": "service_polic",
"index.lifecycle.rollover_alias": "service_polic_alias",
"index.refresh_interval": "2s",
"index.translog.flush_threshold_size": "1gb",
"index.translog.flush_threshold_period": "1h"
},
"mappings":{
"dynamic_templates": [
{
"strings_as_keywords": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties":{
"id": {
"type": "keyword"
}
......
......
}
}
}
}'
-
排序查询
curl -X GET "192.1.1.1:9200/service-2025-02/_search?pretty" -H 'Content-Type: application/json' -d'
{
"size" : 2,
"query" : {
"query_string" : {
"query" : "field:hello world"
}
},
"sort":[
{
"creationTime":{
"order":"asc"
}
}
]
}'
14.分组查询
curl -X GET "192.1.1.1:9200/service-2025-02/_search?pretty" -H 'Content-Type: application/json' -d'
{
"size": 2,
"query": {
"query_string": {
"query": "field:hello world"
}
},
"aggs": {
"group_by_userId": {
"terms": {
"field": "userId",
"size": 10
}
}
},
"sort": [
{
"creationTime": {
"order": "asc"
}
}
]
}'
-
分组聚合查询
curl -X GET "192.1.1.1:9200/service-2025-01/_search" -H 'Content-Type: application/json' -d'
{
"_source": ["timestamp","field1","field2","lost","userId"],
"size": 10,
"query": {
"bool": {
"must": [
{
"term": {
"field1": "hello"
}
},
{
"term": {
"field2": "world"
}
}
]
}
},
"aggs": {
"average_per_5_seconds": {
"date_histogram": {
"field": "timestamp",
"fixed_interval": "5s",
"min_doc_count": 0
},
"aggs": {
"average_lost": {
"avg": {
"field": "lost",
"missing": 0
}
}
}
}
}
}'