ElasticSearch常⽤curl命令
在这⾥,我们介绍了⼀些使⽤curl的最常见的ElasticSearch命令。ElasticSearch有时很复杂。因此,在这⾥我们将其简化。
删除索引
删除名为samples的索引。
列出所有索引
列出索引中的所有⽂档
curl -X GET 'localhost:9200/sample/_search'
使⽤URL参数查询
在这⾥,我们使⽤Lucene查询格式来写q = school:Harvard。
curl -X GET localhost:9200/samples/_search?q=school:Harvard
使⽤JSON查询(⼜名Elasticsearch查询DSL)
您可以使⽤URL上的参数进⾏查询。但是您也可以使⽤JSON,如下⾯的⽰例所⽰。当您进⾏复杂的查询时,与⼀个庞⼤的URL参数字符串相⽐,JSON更易于阅读和调试。
复制
curl -XGET --header 'Content-Type: application/json'localhost:9200/samples/_search -d '{
"query":{
"match":{"school":"Harvard"}
}
}'
列出索引映射
所有Elasticsearch字段都是索引。因此,这会在索引中列出所有字段及其类型。
curl -X GET localhost:9200/samples
新增数据
curl -XPUT --header 'Content-Type: application/json'localhost:9200/samples/_doc/1 -d '{
"school":"Harvard"
}'
更新⽂件
这是向现有⽂档添加字段的⽅法。⾸先,我们创建⼀个新的。然后我们更新它。
curl -XPUT --header 'Content-Type: application/json'localhost:9200/samples/_doc/2 -d '
{
"school":"Clemson"
}'
"doc":{
"students":50000}
}'
备份索引
curl -XPOST --header 'Content-Type: application/json'localhost:9200/_reindex -d '{
"source":{
"index":"samples"
},
"dest":{
"index":"samples_backup"
}
}'
以JSON格式批量加载数据
export pwd="elastic:"
curl --user $pwd  -H 'Content-Type: application/x-ndjson'-XPOST '58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty'--data-binary @<file>
显⽰集健康
curl --user $pwd  -H 'Content-Type: application/json'-XGET 58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty
聚合和存储桶聚合
对于Nginx Web服务器,这将按⽤户城市⽣成Web命中计数:
curl -XGET --user $pwd --header 'Content-Type: application/json'  58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs":{
"cityName":{
"terms":{
"field":"geoip.city_name.keyword",
"size":50
}
}
}
'
这会将其扩展到Nginx Web服务器⽇志中按城市划分的产品响应代码计数
curl -XGET --user $pwd --header 'Content-Type: application/json'  58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs":{
"city":{
"terms":{
"field":"geoip.city_name.keyword"
},
"aggs":{curl是什么命令
"responses":{
"terms":{
"field":"response"
}
}
}
},
"responses":{
"terms":{
"field":"response"
}
}
}
}'
结合使⽤ElasticSearch和基本⾝份验证
如果您已通过ElasticSearch启⽤了安全性,则需要向每个curl命令提供如下所⽰的⽤户名和密码:
curl -X GET 'localhost:9200/_cat/indices?v'-u elastic:(password)
漂亮的输出
将?pretty = true添加到任何搜索中以漂亮地打印JSON。像这样:
curl -X GET 'localhost:9200/(index)/_search'?pretty=true
仅查询和返回某些字段
要仅返回某些字段,请将它们放⼊_source数组中:
GET filebeat-7.6.2-2020.05.05-000001/_search
{
"_source":["suricata.eve.timestamp","ion_name","ated"], "query":{
"match":{"untry_iso_code":"GR"}
}
}
按⽇期查询
当字段的类型为date时,您可以使⽤⽇期数学,如下所⽰:
GET filebeat-7.6.2-2020.05.05-000001/_search
{
"query":{
"range":{
"ated":{
"gte":"now-7d/d"
}
}
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。