1. 创建模板
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"}}}}
}'
2. 查询模板
curl -X GET "192.1.1.1:9200/_index_template/service-template?pretty"
3. 删除模板
curl -X DELETE "192.1.1.1:9200/_index_template/service-template?pretty"
4. 创建表
curl -X PUT "192.1.1.1:9200/service-2025-02?pretty"
5. 查询表
curl -X GET "192.1.1.1:9200/service-2025-02/_mapping?pretty"
6. 删除表
curl -X DELETE "192.1.1.1:9200/service-2025-02/_search?pretty"
7. 添加普通字段
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"}}
}'
8. 添加嵌套字段
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"
10. 给模板增加自动清理时间(高级属性)
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"}............}}}
}'
13. 排序查询
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"}}]
}'
15. 分组聚合查询
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}}}}}
}'