很多时候,我们需要使用curl对elasticsearch进行快捷操作,本文分享了一些常用的curl指令。
参数
参数 | 含义 |
-X | 请求类型(PUT、GET、POST) |
-u | 用户(username:password) |
_search | 查询 |
pretty | 是否美化返回结果(JSON) |
注意:请将localhost改为自己的es服务IP
创建index并添加数据
curl -X POST 'http://localhost:9200/kareza/_doc?pretty' -H 'Content-Type: application/json' -d '
{
"@timestamp": "2099-11-19T08:14:00",
"message": "GET /search HTTP/1.1 200 1070000",
"user": {
"id": "kareza"
}
}'
curl -X POST 'http://localhost:9200/kareza/_doc?pretty' -H 'Content-Type: application/json' -d '
{
"@timestamp": "2099-11-19T08:30:00",
"message": "GET /search HTTP/1.1 200 1070000",
"user": {
"id": "ycy"
}
}'
curl -X POST 'http://localhost:9200/kareza/_doc?pretty' -H 'Content-Type: application/json' -d '
{
"@timestamp": "2099-11-19T09:22:00",
"message": "GET /search HTTP/1.1 200 1070000",
"user": {
"id": "ccyy"
}
}'
查询index下的所有数据
curl -X GET 'http://localhost:9200/kareza/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
"query" : {
"match_all" : {}
}
}'
查询index下的数据(match)
curl -X GET 'http://localhost:9200/kareza/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
"query" : {
"match" : { "user.id": "ycy" }
}
}'
查询index下某段时间内的数据(range)
curl -X GET 'http://localhost:9200/kareza/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
"query" : {
"range" : {
"@timestamp": {
"from": "2099-11-19T08:00:00",
"to": "2099-11-19T09:00:00"
}
}
}
}'
查询多个index下的数据
curl -X GET 'http://localhost:9200/kareza,kareza-02/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
"query" : {
"match_all" : {}
}
}'
查询所有idnex下的数据
curl -X GET 'http://localhost:9200/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
"query" : {
"match_all" : {}
}
}'
删除index
curl -X DELETE 'http://localhost:9200/kareza'
删除多个index
curl -X DELETE 'http://localhost:9200/kareza,kareza-02'