curl 命令行修改 ElasticSearch 配置
curl
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
常用参数
-d
参数用于发送 POST 请求的数据体。-H
参数添加 HTTP 请求的标头。-X
参数指定 HTTP 请求的方法。
集群
查看 es 集群状态:
curl http://127.0.0.1:9200/_cat/health?v
修改系统参数
修改参数(单个查询最大的桶数,默认 10000):
curl -X PUT http://127.0.0.1:9200/_cluster/settings?flat_settings \
-H 'content-Type:application/json' \
-d '{"persistent":{"search":{"max_buckets":"2147483647"}}}'
如果不加 -H 'content-Type:application/json'
参数,可能会报错:
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
修改集群分片数量
新建索引时,出现报错:
Validation Failed: 1: this action would add [10] shards, but this cluster currently has [996]/[1000] maximum normal shards open
这是由于 ES7.x 默认分片只有 1000 个,目前已经用完了,导致已经没法创建新的索引了。需要提高 ES 的分片数量。
curl --location --request PUT 'http://127.0.0.1:9200/_cluster/settings' \
--header 'Content-Type: application/json' \
--data '{"persistent":{"cluster":{"max_shards_per_node":10000}}}'
节点
集群节点健康查看:
curl http://127.0.0.1:9200/_cat/nodes?v
索引管理
列出集群所有索引:
curl http://127.0.0.1:9200/_cat/indices?v
删除某个索引:
curl -XDELETE 'http://127.0.0.1:9200/index_name'
索引配置
查看索引配置:
curl http://elastic:123456@127.0.0.1:9200/index_name/_settings
修改索引副本数量:
curl -X PUT http://127.0.0.1:9200/index_name/_settings -H 'content-Type:application/json' -d '{"number_of_replicas": 2}'
更新索引配置:
curl -X PUT 127.0.0.1:30103/_cluster/settings -H 'content-Type:application/json' -d '{
"persistent" : {
"indices.breaker.fielddata.limit" : "100%",
"indices.breaker.total.limit" : "80%"
}
}'
索引 Mapping
查看索引 Mapping
curl http://127.0.0.1:9200/index_name/_mapping?pretty
更新索引 Mapping
PUT userreport-2022-07-03/_mapping
{ "properties": {
"clusterIgnores" : {
"type" : "nested",
"properties" : {
"type" : {
"type" : "integer"
},
"value" : {
"type" : "integer"
}
}
}
}
}
索引数据
查看索引数据
curl http://elastic:123456@127.0.0.1:9200/index_name/_search
// 查询
curl http://127.0.0.1:9200/index_name/_search?pretty&q=column_name:column_value
// 排序
curl http://127.0.0.1:9200/index_name/_search?pretty&sort=@timestamp:asc&q=column_name:column_value
查看索引总数
curl http://elastic:123456@127.0.0.1:9200/index_name/_count
查看具体数据
查询某个索引下某条记录的具体数据:
curl http://127.0.0.1:9200/index_name/mail/1e50baf1dea339f871f9272508bc7615
curl http://127.0.0.1:9200/index_name/_doc/1e50baf1dea339f871f9272508bc7615(默认 type 为 _doc)
索引模板
查看模板内容
curl http://127.0.0.1:9200/_template/template_name?pretty
更新模板内容
curl -X PUT http://127.0.0.1:9200/_template/userreport
{
"order" : 0,
"index_patterns" : [
"userreport-*",
"qy-userreport-*"
]
}
测试分词效果
curl -X POST 127.0.0.1:9200/_analyze -H 'content-Type:application/json' -d '{ "tokenizer": "ngram", "text": "Quick Fox"}'
Dev Tools:
POST _analyze
{
"analyzer": "smartcn",
"text": ""
}
相关文章