linux操作es 命令

1.检查ES节点是否正常启动

curl http://192.168.6.16:9200

正常状态:

非正常状态:

  1>确保服务是不是正常启动了,端口用的是哪个

  2>防火墙是否关闭或者端口是否开放

  3>你的curl命令是否有问题,curl命令可能导致服务无法访问,可以尝试重启服务后,在外部浏览器访问URL地址即可。不一定非得用curl

2.cat检测集群健康状况

curl http://192.168.6.16:9200/_cat/health?v

 

绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示不可用

3.查询es中所有索引,所有已存在的索引

curl http://192.168.6.16:9200/_cat/indices?v

 

4.创建新的索引【索引要求是全小写字符,可以有下划线隔开】

curl -XPUT http://192.168.6.16:9200/my_new_index?pretty

再查看:

curl http://192.168.6.16:9200/_cat/indices?v

 

5.对新增的索引,插入一条数据

type是user, id指定为1

curl -XPUT http://192.168.6.16:9200/my_new_index/user/1?pretty -d '{"name":"张三","age":"23"}'

 

6.根据ID,获取刚刚索引中新增的数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/1?pretty

 

7.修改数据

7.1先新增一条数据

curl -XPUT http://192.168.6.16:9200/my_new_index/user/2?pretty -d '{"name":"李四","age":"25"}'

7.2 根据ID查询这条数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

7.3修改id为2的数据

curl -XPUT http://192.168.6.16:9200/my_new_index/user/2?pretty -d '{"name":"李四修改","age":"28"}'

即使用相同的新增命令操作 相同的ID,数据不同

 

7.4查询修改结果

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

8.更新数据,使用POST请求,注意请求体,格式

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230"}}'

 

查看更新后的数据:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

9.更新数据的同时,新增列

就是将doc中的json数据列增加即可

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230","address":"北京东直门"}}'

 

查看:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

10.将age字段字符串类型,修改为数字类型,并使用简单脚本对其操作

10.1 查看数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

10.2 将age类型由字符串更改为数值

就是将json中的age的值的引号去掉

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":230,"address":"北京东直门"}}'

 

10.3 查看修改后数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

10.4使用简单脚本,对年龄增加5

如果报错。解决方法:https://www.cnblogs.com/sxdcgaq8080/p/11119420.html

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"script" : "ctx._source.age += 5"}'

查看:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

 

11.删除数据,根据ID删除

curl -XDELETE http://192.168.6.16:9200/my_new_index/user/2?pretty

 

13.批量插入 bulk

【注意JSON字符串格式】

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty -d ' {"index":{"_id":"3"}} {"name":"赵思","age":12} {"index":{"_id":"4"}} {"name":"钱三一","age":13} '

 

想要看插入以后索引下的数据,查询在后面16

14.批处理语句,bulk,更新id为1的数据,删除id为3的数据

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty -d ' {"update":{"_id":"1"}} {"doc": {"name":"张三变李四","age":25}} {"delete":{"_id":"3"}} '

 

15.导入批量数据集文件json文件【使用bulk批量导入】

测试的json批量数据集文件,java生成代码:

publicstaticvoidmain(String[] args) { File file=newFile("E:\1\myjson.json"); FileWriter writer=null;intsize = 200;try{ writer=newFileWriter("E:\1\myjson.json");for(inti = 10; i < size+10; i++) { writer.write("{"index":{"_id":""+i+""}}"+" "+"{"name":"张三"+i+"","age": "+i+","address":"北京"+i+""}"+" "); } writer.flush(); }catch(IOException e) { e.printStackTrace(); }finally{try{ writer.close(); }catch(IOException e) { e.printStackTrace(); } } }

View Code

如果报错,解决方案:https://www.cnblogs.com/sxdcgaq8080/p/11119883.html

指定要导入的 索引、type、使用bulk命令 @符号后面跟json文件的绝对路径

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty --data-binary @/cjf/es/elasticsearch-2.3.3/data/myjson.json

 

查看index详情:

curl http://192.168.6.16:9200/_cat/indices?v

可以看到成功批量插入了200条

 

===================================下来看查询(删除索引在最后)=========================================

16.查询某个索引中的所有数据

curl http://192.168.6.16:9200/my_new_index/_search?q=*&pretty

等价于

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } } }'

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{ "match_all":{}}}'

 

17.查询指定索引下的数据

【如果不指定size,默认返回10条】

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d ' { "query":{ "match_all":{ } }, "size":10 } '

 

18.分页查询,从第10条,返回10条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"from": 10,"size": 10}'

 

19.按照age字段倒序排序 sort,取出20条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"sort":{"age":{"order":"desc"} },"from": 0,"size": 20}'

 

20.只返回想查询的部分字段

只返回name和address列

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"_source":["name","address"] }'

 

21.条件匹配查询

21.1查询age=200的数据

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"age":200} } }'

 

21.2 查询address中包含 “北京” 的数据

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"address":"北京"} } }'

 

21.3 查询 address中 包含“北京” 或 “西安”的所有数据 【匹配单个词语 空格分隔】

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"address":"北京 西安"} } }'

 

21.4 查询address中包含“北京 西安” 完整词语的【短语匹配,“北京 西安”作为一个完整词语查询】、

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_phrase":{"address":"北京 西安"} } }'

 

22.布尔查询 bool

22.1布尔查询bool and查询,必须同时满足 address中包含“北京”,又要满足address中包含“西安”

must表示所有查询必须都为真才被认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

 

22.2 布尔查询bool or查询 address中包含“北京” 或者 address中包含“西安” 都可以

should 表示查询列表中只要有任何一个为真则认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"should":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

 

22.3 布尔查询bool 都不能满足的 既不能包含这个,也不能包含那个

must_not表示查询列表中没有为真的(也就是全为假)时则认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must_not":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

 

22.4 这样,就可以布尔查询 多条件组合 查询

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must":[ {"match":{"age":200} } ],"must_not":[ {"match":{"address":"西安"} } ] } } }'

 

23. 范围查询 range 查询年龄25-30之间的

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"range":{"age":{"gte":25,"lte":30} } } }'

 

24.聚合查询 aggs

按照name进行聚合分组,然后按照记录数,从大到小排序,默认返回前10条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"group_by_name":{"terms":{"field":"name"} } } }'

 

25. 聚合查询 aggs ,求age的平均值

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"average_age":{"avg":{"field":"age"} } } }'

 

按name分组,求age的平均值

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"group_by_name":{"terms":{"field":"name"},"aggs":{"average_age":{"avg":{"field":"age"} } } } } }'

 

100.删除索引

100.1 查看所有索引信息

curl http://192.168.6.16:9200/_cat/indices?v

 

100.2 删除指定索引

curl -XDELETE http://192.168.6.16:9200/my_new_index?pretty

 

100.3 再次查看

curl http://192.168.6.16:9200/_cat/indices?v

 

==========================================

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上运行Elasticsearch,可以按照以下步骤操作: 1. 首先,进入Elasticsearch的安装目录。可以使用cd命令切换到Elasticsearch目录,例如/usr/local/elk/elasticsearch-5.6.14。 2. 接下来,使用以下命令启动Elasticsearch: ``` ./bin/elasticsearch ``` 这将启动Elasticsearch服务。 如果你想安装Elasticsearch的插件,可以按照以下步骤操作: 1. 进入Elasticsearch的安装目录,例如/usr/local/elk/elasticsearch-5.6.14。 2. 使用以下命令来安装插件: ``` ./bin/elasticsearch-plugin install 插件的URL ``` 插件的URL可以是一个zip文件的下载链接。例如,如果你要安装名为elasticsearch-analysis-ik的插件,可以使用以下命令: ``` ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip ``` 如果你需要下载Elasticsearch本身的安装文件,可以按照以下步骤操作: 1. 访问Elasticsearch的官方网站,下载页面的链接是https://www.elastic.co/downloads/elasticsearch。你可以在该页面上找到最新版本的Elasticsearch的下载链接。 2. 使用wget命令下载Elasticsearch的安装文件。例如,使用以下命令下载版本为5.6.14的Elasticsearch: ``` wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.14.zip ``` 3. 使用unzip命令解压下载的zip文件。例如,使用以下命令解压elasticsearch-5.6.14.zip: ``` unzip elasticsearch-5.6.14.zip ``` 4. 将解压后的Elasticsearch目录移动到目标目录,例如将elasticsearch-5.6.14移动到/usr/local/elk目录: ``` mv elasticsearch-5.6.14 /usr/local/elk ``` 这样,你就可以在Linux上成功运行Elasticsearch了。请注意,具体的命令可能会因为Elasticsearch的版本或操作系统的差异而略有不同。因此,你可以根据实际情况进行适当的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Elasticsearch简单入门--elasticsearch 在Linux下的安装、运行、停止](https://blog.csdn.net/zhen_6137/article/details/86000057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Linux下使用ElasticSearch教程(一)](https://blog.csdn.net/HcJsJqJSSM/article/details/82969874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值