elasticsearch索引总结

ELK堆栈实践与ES查询语法
本文分享了作者从了解ELK堆栈到实际应用的六个月经验,重点介绍了如何利用Elasticsearch的查询语法和API进行高效的数据统计与分析,包括_cat API的使用、索引管理、批处理及查询技巧。

从了解ELK到搭建再到业务新建到现在也有6个月了,一直没有总结过es的查询语法,每次查询都要在网上找一波,上周接到一个任务,统计nginx日中所有域名的pv统计值,刚开始还准备用python调用elasticsearch模块去遍历某个索引下的所有日志,然后筛选相关内容进行整合(使用了scroll函数),结果倒是出来了,但是慢的不是一星半点,最后使用了es自己的api通过聚合查询很快就在几千万条日志里面把相关 的值统计了出来。

es查询整理:

一、_cat  API 使用

1. curl "ip:9200/_cat/health?v"

green表示一切正常

2.curl 'ip:9200/_cat/nodes?v'

可以查看所有的节点信息

3.curl 'ip:9200/_cat/indices?v'

可以列出所有的索引 以及每个索引的相关信息

二、索引的增删改查

语法格式: 

curl -X<REST Verb> <Node>:<Port>/<Index>/<Type>/<ID>

  <REST Verb>:REST风格的语法谓词

  <Node>:节点ip

  <port>:节点端口号,默认9200

  <Index>:索引名

  <Type>:索引类型

  <ID>:操作对象的ID号

1.新建索引:

curl -XPUT 'ip:9200/新建的索引名?pretty'

2.插入数据

curl -XPUT 'ip:9200/索引名/type类型/ID号?pretty' -d ‘

{

  “name” : "tom"

}'

3.获取数据:

curl -XGET 'ip:9200/索引名/ID号?pretty'

pretty使得返回数据美观

4.curl -XDELETE 'ip:9200/索引名?pretty'

删除索引

5。更新数据以及新增字段

curl -XPOXT 'ip:9200/索引名/类型名/id/_update?pretty' -d '

{

  "doc":{"name":"jack"}

}'

curl -XPOST 'ip:9200/索引名/类型名/id/_update?pretty' -d '

{

  "doc":{"name":"jack","age":"20"}

}'

三、批处理

下面语句将在一个批量操作中执行创建索引:

  curl -XPOST 'localhost:9200/customer/external/_bulk?pretty' -d '
  {"index":{"_id":"1"}}
  {"name": "John Doe" }
  {"index":{"_id":"2"}}
  {"name": "Jane Doe" }
  '

  下面语句批处理执行更新id为1的数据然后执行删除id为2的数据

  curl -XPOST 'localhost:9200/customer/external/_bulk?pretty' -d '
  {"update":{"_id":"1"}}
  {"doc": { "name": "John Doe becomes Jane Doe" } }
  {"delete":{"_id":"2"}}
  '
四、查询
curl -XPOST 'localhost:9200/索引名/_search?pretty' -d '
  {
    "query": { "match_all": {} }
   "size": 100 
 }'
返回索引下的匹配到的所有数据 默认返回十条
加上size指定返回条数
curl -XPOST 'localhost:9200/索引名/_search?pretty' -d '
  {
    "query": { "match_all": {} }
"_source" ["hostnanme","path"]
   "size": 100 
 }'
指定返回字段
curl -XPOST 'localhost:9200/索引名/_search?pretty' -d '
{
  "query" :{"match":{"hostname":"admin.com"}}
}’

转载于:https://www.cnblogs.com/gzcheng/p/9828736.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值