当前位置:首页 > CN2资讯 > 正文内容

linux es部署 linux操作es

2天前CN2资讯


==========

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

如果报错。解决方法:

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生成代码:

 View Code

 

如果报错,解决方案:

指定要导入的  索引、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

 

 

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

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25752.html

    分享给朋友:

    “linux es部署 linux操作es” 的相关文章

    香港虚拟主机CN2怎么用的:全面解析与实用指南

    香港虚拟主机CN2怎么用的香港虚拟主机CN2的选型指南与核心优势在全球化的今天,选择一个合适的虚拟主机服务对于网站的运营至关重要。而香港虚拟主机CN2凭借其独特的地理位置和高速稳定的网络连接,成为了众多站长和企业的首选。但面对市场上琳琅满目的选项,如何选择一款适合自己的香港虚拟主机CN2呢?本文将带...

    如何利用Gcore CDN自选IP优化网站访问速度与安全性

    Gcore CDN的基本功能 Gcore CDN是一种全球知名的内容分发网络服务,它为用户提供了强大的加速和保护功能。通过Gcore CDN,用户可以轻松实现网站的全球加速,确保内容能够快速、稳定地传递给终端用户。Gcore CDN的免费套餐包括每月1TB流量、10亿次请求,覆盖了140多个官方节点...

    香港云电脑:灵活、高效、经济的现代计算解决方案

    香港云电脑概述 香港云电脑,是基于云计算技术的一种崭新电脑服务模式。其实你可以把它想象成一种“租赁”的概念。我们不需要像以前那样花大价钱去购买实体电脑,而是可以通过网络租用需要的计算、存储和软件资源,与此同时,拥有几乎完整的电脑功能。这种模式的好处多多,包括灵活性、低成本、高效性以及可扩展性。无论是...

    如何优雅退出ping -t命令:实用技巧与方法指南

    在当今的网络世界里,许多人时常需要检查网络连通性。这个时候,'ping'命令就显得非常实用。简单来说,'ping'命令的主要作用是检测与特定目标主机之间的连接状态。通过发送ICMP回显请求,它可以告诉我们目标设备是否可达,延迟情况如何等信息。 在众多的‘ping’命令中,‘ping -t’是特别常用...

    Hostodo VPS主机使用体验与性能评测

    当我第一次听说Hostodo时,正是2014年,这家美国VPS主机商在市场上开始崭露头角。印象中,它的低价VPS产品让我感到十分吸引,尤其是在对比市场上其他的主机商时,Hostodo的性价比确实相当有优势。它主营的KVM型和NVMe硬盘的KVM型VPS在当时的市场中并不是常见的选择,迅速吸引了许多站...

    全面解析CPU租用服务:灵活性与高效性的最佳选择

    CPU租用服务概述 在当今快速发展的科技环境中,CPU租用服务作为一种创新的计算资源提供模式,正在受到越来越多用户的关注。这种服务使得用户可以根据具体需求,灵活地租用不同配置的CPU资源,从而有效地降低了硬件采购成本。 CPU租用服务的意义不仅在于提供强劲的计算能力,更在于它的灵活性。用户不再需要一...