1、索引管理
1.1、索引创建
创建索引主要设置主分片及副分片数量。索引创建后,主分片数不能更改,可以修改副本分片数。
请求格式:
PUT /{索引名}
{
"settings":{
"number_of_shards":{主分片数},
"number_of_replicas":{副本分片数}
}
}
示例:
PUT /city
{
"settings":{
"number_of_shards":1,
"number_of_replicas":1
}
}
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "city"
}
1.2、索引删除
请求格式:
DELETE /{索引名}
1.3、获取索引
请求格式:
GET /{索引名}
1.4、打开/关闭索引
关闭的索引只能显示索引元数据信息,不能进行读写操作。
请求格式:
POST /{索引名}/_close
POST /{索引名}/_open
1.5、修改索引配置
修改索引只可修改副本分片数。
请求格式:
PUT /{索引名}/_settings
{
"settings":{
"number_of_replicas":{副本分片数}
}
}
示例:
PUT /city/_settings
{
"settings":{
"number_of_replicas":0
}
}
1.6、获取配置
请求格式:
GET /{索引名}/_settings
示例:
GET /city/_settings
{
"city" : {
"settings" : {
"index" : {
"creation_date" : "1585405501997",
"number_of_shards" : "1",
"number_of_replicas" : "0",
"uuid" : "eOpl1nAIQfyXLdfXCFliKg",
"version" : {
"created" : "7060099"
},
"provided_name" : "city"
}
}
}
}
1.7、索引别名
Elasticsearch中可以对一个或多个索引指定别名,通过别名可以查询到一个或多个索引。Elasticsearch会自动将别名映射到对应的索引上。可以对别名编写过滤器或路由,集群中的别名不能重复,也不能和索引名重复。
命令格式:
POST /_aliases
{
"actions":
{
"{add或remove}":{"index":"{索引名}","alias":"{别名}"}
}
}
示例:
创建别名:
POST /_aliases
{
"actions":
{
"add":{"index":"city","alias":"mycity"}
}
}
删除别名:
POST /_aliases
{
"actions":
{
"remove":{"index":"city","alias":"mycity"}
}
}
关联多个索引:
POST /_aliases
{
"actions": [
{
"add": {
"index": "city",
"alias": "myindex"
}
},
{
"add":{
"index": "people",
"alias": "myindx"
}
}
]
}
关联多个索引:
POST /_aliases
{
"actions": [
{
"add": {
"indices": ["city","people"],
"alias": "myindex"
}
}
]
}
1.8、别名过滤器及路由
可以给别名创建一个过滤器或是设置路由,过滤器或路由规则适用于索引的搜索、计数、查询、删除等操作。创建过滤时需确保对应字段在映射中存在。
带过滤器别名:
POST /_aliases
{
"actions": [
{
"add": {
"index": "people",
"alias": "alias1",
"filter": {"term": {
"country": "中国"
}}
}
}
]
}
带路由别名:
POST /_aliases
{
"actions": [
{
"add": {
"index": "people",
"alias": "alias1",
"routing": 1
}
}
]
}
指定搜索路由和查询路由:
POST /_aliases
{
"actions": [
{
"add": {
"index": "people",
"alias": "alias1",
"search_routing": "1,2",
"index_routing": "1"
}
}
]
}
1.9、查询别名
查询格式:
GET /{索引名}/_alias/{别名}
示例:
查询索引别名:
GET /_alias/
查询索引的别名:
GET /people/_alias
GET /people/_alias/ali*
GET /people/_alias/*
查询别名对应的索引:
GET /_alias/alias1
1.10、测试分析器
分析器会将文本分析成单独的词,并对这些词建立倒排索引。
POST /_analyze
{
"analyzer": "ik_smart",
"text": "我是中国人!"
}
{
"detail" : {
"custom_analyzer" : false,
"analyzer" : {
"name" : "org.wltea.analyzer.lucene.IKAnalyzer",
"tokens" : [
{
"token" : "我",
"start_offset" : 0,
"end_offset" : 1,
"type" : "CN_CHAR",
"position" : 0,
"bytes" : "[e6 88 91]",
"positionLength" : 1,
"termFrequency" : 1
},
{
"token" : "是",
"start_offset" : 1,
"end_offset" : 2,
"type" : "CN_CHAR",
"position" : 1,
"bytes" : "[e6 98 af]",
"positionLength" : 1,
"termFrequency" : 1
},
{
"token" : "中国人",
"start_offset" : 2,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 2,
"bytes" : "[e4 b8 ad e5 9b bd e4 ba ba]",
"positionLength" : 1,
"termFrequency" : 1
}
]
}
}
}
1.11、索引模板
索引模板就是创建好一个索引参数配置(settings)和映射(mapping)的模板,在创建新索引的时候指定模板名称即可治愈模板定义好的参数设置和映射。
PUT /_template/logtemplate
{
"template": "log-*",
"order": 1,
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"aliases": {"myindex":{}}
}
2、索引监控
2.1、索引统计信息
索引统计信息提供索引中不同内容的统计数据。
命令格式:
GET /{索引名}/_stats
命令示例:
GET /_stats
GET /people/_stats
{
"_shards" : {
"total" : 6,
"successful" : 3,
"failed" : 0
},
"_all" : {
"primaries" : {
"docs" : {
"count" : 4,
"deleted" : 0
},
"store" : {
"size_in_bytes" : 16172
},
"indexing" : {
"index_total" : 0,
"index_time_in_millis" : 0,
"index_current" : 0,
"index_failed" : 0,
"delete_total" : 0,
"delete_time_in_millis" : 0,
"delete_current" : 0,
"noop_update_total" : 0,
"is_throttled" : false,
"throttle_time_in_millis" : 0
},
"get" : {
"total" : 1,
"time_in_millis" : 0,
"exists_total" : 1,
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"open_contexts" : 0,
"query_total" : 0,
"query_time_in_millis" : 0,
"query_current" : 0,
"fetch_total" : 0,
"fetch_time_in_millis" : 0,
"fetch_current" : 0,
"scroll_total" : 0,
"scroll_time_in_millis" : 0,
"scroll_current" : 0,
"suggest_total" : 0,
"suggest_time_in_millis" : 0,
"suggest_current" : 0
},
"merges" : {
"current" : 0,
"current_docs" : 0,
"current_size_in_bytes" : 0,
"total" : 0,
"total_time_in_millis" : 0,
"total_docs" : 0,
"total_size_in_bytes" : 0,
"total_stopped_time_in_millis" : 0,
"total_throttled_time_in_millis" : 0,
"total_auto_throttle_in_bytes" : 62914560
},
"refresh" : {
"total" : 6,
"total_time_in_millis" : 0,
"external_total" : 6,
"external_total_time_in_millis" : 0,
"listeners" : 0
},
"flush" : {
"total" : 3,
"periodic" : 0,
"total_time_in_millis" : 0
},
"warmer" : {
"current" : 0,
"total" : 3,
"total_time_in_millis" : 0
},
"query_cache" : {
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
},
"fielddata" : {
"memory_size_in_bytes" : 0,
"evictions" : 0
},
"completion" : {
"size_in_bytes" : 0
},
"segments" : {
"count" : 4,
"memory_in_bytes" : 4884,
"terms_memory_in_bytes" : 3108,
"stored_fields_memory_in_bytes" : 1248,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 256,
"points_memory_in_bytes" : 0,
"doc_values_memory_in_bytes" : 272,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
},
"translog" : {
"operations" : 0,
"size_in_bytes" : 935,
"uncommitted_operations" : 0,
"uncommitted_size_in_bytes" : 935,
"earliest_last_modified_age" : 0
},
"request_cache" : {
"memory_size_in_bytes" : 0,
"evictions" : 0,
"hit_count" : 0,
"miss_count" : 0
},
"recovery" : {
"current_as_source" : 0,
"current_as_target" : 0,
"throttle_time_in_millis" : 0
}
},
"total" : {
"docs" : {
"count" : 4,
"deleted" : 0
},
"store" : {
"size_in_bytes" : 16172
},
"indexing" : {
"index_total" : 0,
"index_time_in_millis" : 0,
"index_current" : 0,
"index_failed" : 0,
"delete_total" : 0,
"delete_time_in_millis" : 0,
"delete_current" : 0,
"noop_update_total" : 0,
"is_throttled" : false,
"throttle_time_in_millis" : 0
},
"get" : {
"total" : 1,
"time_in_millis" : 0,
"exists_total" : 1,
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"open_contexts" : 0,
"query_total" : 0,
"query_time_in_millis" : 0,
"query_current" : 0,
"fetch_total" : 0,
"fetch_time_in_millis" : 0,
"fetch_current" : 0,
"scroll_total" : 0,
"scroll_time_in_millis" : 0,
"scroll_current" : 0,
"suggest_total" : 0,
"suggest_time_in_millis" : 0,
"suggest_current" : 0
},
"merges" : {
"current" : 0,
"current_docs" : 0,
"current_size_in_bytes" : 0,
"total" : 0,
"total_time_in_millis" : 0,
"total_docs" : 0,
"total_size_in_bytes" : 0,
"total_stopped_time_in_millis" : 0,
"total_throttled_time_in_millis" : 0,
"total_auto_throttle_in_bytes" : 62914560
},
"refresh" : {
"total" : 6,
"total_time_in_millis" : 0,
"external_total" : 6,
"external_total_time_in_millis" : 0,
"listeners" : 0
},
"flush" : {
"total" : 3,
"periodic" : 0,
"total_time_in_millis" : 0
},
"warmer" : {
"current" : 0,
"total" : 3,
"total_time_in_millis" : 0
},
"query_cache" : {
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
},
"fielddata" : {
"memory_size_in_bytes" : 0,
"evictions" : 0
},
"completion" : {
"size_in_bytes" : 0
},
"segments" : {
"count" : 4,
"memory_in_bytes" : 4884,
"terms_memory_in_bytes" : 3108,
"stored_fields_memory_in_bytes" : 1248,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 256,
"points_memory_in_bytes" : 0,
"doc_values_memory_in_bytes" : 272,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
},
"translog" : {
"operations" : 0,
"size_in_bytes" : 935,
"uncommitted_operations" : 0,
"uncommitted_size_in_bytes" : 935,
"earliest_last_modified_age" : 0
},
"request_cache" : {
"memory_size_in_bytes" : 0,
"evictions" : 0,
"hit_count" : 0,
"miss_count" : 0
},
"recovery" : {
"current_as_source" : 0,
"current_as_target" : 0,
"throttle_time_in_millis" : 0
}
}
},
"indices" : {
"people" : {
"uuid" : "trYLrNhrRFqnhbPHhVNFMA",
"primaries" : {
"docs" : {
"count" : 4,
"deleted" : 0
},
"store" : {
"size_in_bytes" : 16172
},
"indexing" : {
"index_total" : 0,
"index_time_in_millis" : 0,
"index_current" : 0,
"index_failed" : 0,
"delete_total" : 0,
"delete_time_in_millis" : 0,
"delete_current" : 0,
"noop_update_total" : 0,
"is_throttled" : false,
"throttle_time_in_millis" : 0
},
"get" : {
"total" : 1,
"time_in_millis" : 0,
"exists_total" : 1,
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"open_contexts" : 0,
"query_total" : 0,
"query_time_in_millis" : 0,
"query_current" : 0,
"fetch_total" : 0,
"fetch_time_in_millis" : 0,
"fetch_current" : 0,
"scroll_total" : 0,
"scroll_time_in_millis" : 0,
"scroll_current" : 0,
"suggest_total" : 0,
"suggest_time_in_millis" : 0,
"suggest_current" : 0
},
"merges" : {
"current" : 0,
"current_docs" : 0,
"current_size_in_bytes" : 0,
"total" : 0,
"total_time_in_millis" : 0,
"total_docs" : 0,
"total_size_in_bytes" : 0,
"total_stopped_time_in_millis" : 0,
"total_throttled_time_in_millis" : 0,
"total_auto_throttle_in_bytes" : 62914560
},
"refresh" : {
"total" : 6,
"total_time_in_millis" : 0,
"external_total" : 6,
"external_total_time_in_millis" : 0,
"listeners" : 0
},
"flush" : {
"total" : 3,
"periodic" : 0,
"total_time_in_millis" : 0
},
"warmer" : {
"current" : 0,
"total" : 3,
"total_time_in_millis" : 0
},
"query_cache" : {
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
},
"fielddata" : {
"memory_size_in_bytes" : 0,
"evictions" : 0
},
"completion" : {
"size_in_bytes" : 0
},
"segments" : {
"count" : 4,
"memory_in_bytes" : 4884,
"terms_memory_in_bytes" : 3108,
"stored_fields_memory_in_bytes" : 1248,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 256,
"points_memory_in_bytes" : 0,
"doc_values_memory_in_bytes" : 272,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
},
"translog" : {
"operations" : 0,
"size_in_bytes" : 935,
"uncommitted_operations" : 0,
"uncommitted_size_in_bytes" : 935,
"earliest_last_modified_age" : 0
},
"request_cache" : {
"memory_size_in_bytes" : 0,
"evictions" : 0,
"hit_count" : 0,
"miss_count" : 0
},
"recovery" : {
"current_as_source" : 0,
"current_as_target" : 0,
"throttle_time_in_millis" : 0
}
},
"total" : {
"docs" : {
"count" : 4,
"deleted" : 0
},
"store" : {
"size_in_bytes" : 16172
},
"indexing" : {
"index_total" : 0,
"index_time_in_millis" : 0,
"index_current" : 0,
"index_failed" : 0,
"delete_total" : 0,
"delete_time_in_millis" : 0,
"delete_current" : 0,
"noop_update_total" : 0,
"is_throttled" : false,
"throttle_time_in_millis" : 0
},
"get" : {
"total" : 1,
"time_in_millis" : 0,
"exists_total" : 1,
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"open_contexts" : 0,
"query_total" : 0,
"query_time_in_millis" : 0,
"query_current" : 0,
"fetch_total" : 0,
"fetch_time_in_millis" : 0,
"fetch_current" : 0,
"scroll_total" : 0,
"scroll_time_in_millis" : 0,
"scroll_current" : 0,
"suggest_total" : 0,
"suggest_time_in_millis" : 0,
"suggest_current" : 0
},
"merges" : {
"current" : 0,
"current_docs" : 0,
"current_size_in_bytes" : 0,
"total" : 0,
"total_time_in_millis" : 0,
"total_docs" : 0,
"total_size_in_bytes" : 0,
"total_stopped_time_in_millis" : 0,
"total_throttled_time_in_millis" : 0,
"total_auto_throttle_in_bytes" : 62914560
},
"refresh" : {
"total" : 6,
"total_time_in_millis" : 0,
"external_total" : 6,
"external_total_time_in_millis" : 0,
"listeners" : 0
},
"flush" : {
"total" : 3,
"periodic" : 0,
"total_time_in_millis" : 0
},
"warmer" : {
"current" : 0,
"total" : 3,
"total_time_in_millis" : 0
},
"query_cache" : {
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
},
"fielddata" : {
"memory_size_in_bytes" : 0,
"evictions" : 0
},
"completion" : {
"size_in_bytes" : 0
},
"segments" : {
"count" : 4,
"memory_in_bytes" : 4884,
"terms_memory_in_bytes" : 3108,
"stored_fields_memory_in_bytes" : 1248,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 256,
"points_memory_in_bytes" : 0,
"doc_values_memory_in_bytes" : 272,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
},
"translog" : {
"operations" : 0,
"size_in_bytes" : 935,
"uncommitted_operations" : 0,
"uncommitted_size_in_bytes" : 935,
"earliest_last_modified_age" : 0
},
"request_cache" : {
"memory_size_in_bytes" : 0,
"evictions" : 0,
"hit_count" : 0,
"miss_count" : 0
},
"recovery" : {
"current_as_source" : 0,
"current_as_target" : 0,
"throttle_time_in_millis" : 0
}
}
}
}
}
统计数据说明:
- docs 文档及删除文档数量
- store 索引大小
- indexing 索引统计数据,可以结合用逗号分隔的类型来提供文档类型基本的统计数据
- get 获取统计数据,包含缺失统计
- search 搜索统计数据,可以添加额外的groups参数包含自定义分子的统计数据。groups接受逗号分隔的组名列表。使用_all返回所有分组的统计数据。
- completion 完成建议统计数据
- fielddata 字段数据统计数据
- flush 冲洗统计数据
- merge 混合统计数据
- request_cache 分片请求缓存统计数据
- refresh 刷新统计数据
- suggest 建议统计数据
- translog 事物日志统计数据
2.2、索引分段信息
索引分段信息包含分片lucene的段信息。
命令格式:
获取所有分段信息
GET /_segments
获取某些索引的分段信息
GET /{索引名}/_segments
示例:
GET /people/_segments
{
"_shards" : {
"total" : 6,
"successful" : 3,
"failed" : 0
},
"indices" : {
"people" : {
"shards" : {
"0" : [
{
"routing" : {
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA"
},
"num_committed_segments" : 0,
"num_search_segments" : 0,
"segments" : { }
}
],
"1" : [
{
"routing" : {
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA"
},
"num_committed_segments" : 3,
"num_search_segments" : 3,
"segments" : {
"_0" : {
"generation" : 0,
"num_docs" : 1,
"deleted_docs" : 0,
"size_in_bytes" : 3778,
"memory_in_bytes" : 1221,
"committed" : true,
"search" : true,
"version" : "8.4.0",
"compound" : true,
"attributes" : {
"Lucene50StoredFieldsFormat.mode" : "BEST_SPEED"
}
},
"_3" : {
"generation" : 3,
"num_docs" : 1,
"deleted_docs" : 0,
"size_in_bytes" : 3752,
"memory_in_bytes" : 1221,
"committed" : true,
"search" : true,
"version" : "8.4.0",
"compound" : true,
"attributes" : {
"Lucene50StoredFieldsFormat.mode" : "BEST_SPEED"
}
},
"_4" : {
"generation" : 4,
"num_docs" : 1,
"deleted_docs" : 0,
"size_in_bytes" : 3794,
"memory_in_bytes" : 1221,
"committed" : true,
"search" : true,
"version" : "8.4.0",
"compound" : true,
"attributes" : {
"Lucene50StoredFieldsFormat.mode" : "BEST_SPEED"
}
}
}
}
],
"2" : [
{
"routing" : {
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA"
},
"num_committed_segments" : 1,
"num_search_segments" : 1,
"segments" : {
"_3" : {
"generation" : 3,
"num_docs" : 1,
"deleted_docs" : 0,
"size_in_bytes" : 3737,
"memory_in_bytes" : 1221,
"committed" : true,
"search" : true,
"version" : "8.4.0",
"compound" : true,
"attributes" : {
"Lucene50StoredFieldsFormat.mode" : "BEST_SPEED"
}
}
}
}
]
}
}
}
}
参数说明:
- _0 JSON文档的键名,代表分片的名称。这个名称用来生成文档名:分片目录中所有以分片名开头的文档属于这个分片
- generation 需要写新的分片时生成的一个数字,基本上是递增的。分片名从这个生成的数字派生出来
- num_docs 存储在分片中没被删除的文档数量。
- deleted_docs 存储在分片中被删除的文档数量,如果这个数字大于0也没问题,磁盘空间会在段合并时被回收
- size_in_bytes 用字节表示分片使用的磁盘空间数量
- memory_in_byte 分片需要在内存中存储一些数据使搜索性能更加高效。这个数字表示用于这个目的的字节数量。如果返回值为-1,表示Elasticsearch无法计算这个值
- committed 表示分片在磁盘上是否同步。提交的分片会在硬重启中存活下来。如果值为false也无需担心,未提交的分片数据也会存储在事物日志中,当集群下次重启时可以重做修改
- search 分片是否可以进行搜索,如果为false,可能意味着分片已经被写入磁盘但没有经过刷新使之可以进行搜索。
- version 用来写这个分片的lucene版本
- compound 分片是否存储在压缩文件中,如果为true,表示lucene将分片中所有的文档融合为一个用来保存文档的描述符。
2.3、索引分片信息
所有分片信息报告分片副本存在的节点、分片副本版本、只是分片副本最近状态已经在开启分片索引时遭遇的任何异常。
命令格式:
GET /{索引名}/_shard_stores
示例:
GET /people/_shard_stores
{
"nodes" : {
"_tCUuwGSQ1CiF1vxKS42nA" : {
"name" : "test-node-1",
"ephemeral_id" : "hlwUZ4faQSeKq_zsM2g5rA",
"transport_address" : "127.0.0.1:9300",
"attributes" : {
"ml.machine_memory" : "8480055296",
"xpack.installed" : "true",
"ml.max_open_jobs" : "20"
}
}
},
"indices" : {
"people" : { }
},
"shards" : [
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 0,
"index" : "people",
"allocation_id" : {
"id" : "KtD9HbdnQXmnuJaV1hvK3Q"
}
}
],
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 1,
"index" : "people",
"allocation_id" : {
"id" : "0EkYrz_ZQsG6oAAqxX6j_A"
}
}
],
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 2,
"index" : "people",
"allocation_id" : {
"id" : "B4DSNFVFQcaVT7l8ydq-7g"
}
}
]
]
}
2.3、搜索分片信息
搜索分片信息包含某个索引可以拥有搜索的分片信息。
命令格式:
GET /{索引名}/_search_shards
示例:
{
"nodes" : {
"_tCUuwGSQ1CiF1vxKS42nA" : {
"name" : "test-node-1",
"ephemeral_id" : "hlwUZ4faQSeKq_zsM2g5rA",
"transport_address" : "127.0.0.1:9300",
"attributes" : {
"ml.machine_memory" : "8480055296",
"xpack.installed" : "true",
"ml.max_open_jobs" : "20"
}
}
},
"indices" : {
"people" : { }
},
"shards" : [
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 0,
"index" : "people",
"allocation_id" : {
"id" : "KtD9HbdnQXmnuJaV1hvK3Q"
}
}
],
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 1,
"index" : "people",
"allocation_id" : {
"id" : "0EkYrz_ZQsG6oAAqxX6j_A"
}
}
],
[
{
"state" : "STARTED",
"primary" : true,
"node" : "_tCUuwGSQ1CiF1vxKS42nA",
"relocating_node" : null,
"shard" : 2,
"index" : "people",
"allocation_id" : {
"id" : "B4DSNFVFQcaVT7l8ydq-7g"
}
}
]
]
}
3、状态管理
3.1、索引刷新
索引刷新操作可以刷新一个或多个索引,使其前一次刷新后的所有操作被执行。近实时能力取决于使用的搜索引擎。
命令格式:
POST /{索引名}/_refresh
3.2、索引冲洗
可以冲洗一个或多个索引。索引主要通过执行冲洗将数据保存带索引存储并且清除内部事务日志,以此来释放索引的内存空间。Elasticsearch默认使用内存启发式算法来自动触发冲洗操作的请求类清理内存。
命令格式:
POST /{索引名}/_flush
3.3、索引合并
合并索引可以强制合并一个或多个索引,合并分片数量和每个分片保存的lucene索引。强制合并可以通过合并来减少分片数量。调用会被阻塞直到合并完成。如果http连接丢失,请求会在后台继续执行,任何新的请求都会被阻塞直到前一个强制合并完成。
命令格式:
POST /{索引名}/_forcemerge
{
"max_num_segments":1,
"only_expunge_deletes":false,
"flush":true
}
3.4、缓存清除
可以清除缓存或关联一个或更多索引的特定缓存。默认清除所有缓存,可以明确设置query、fielddata和request来清除特定缓存。
命令格式:
POST /people/_cache/clear