Elasticsearch 7.2.0 官方文档学习

  1. 官网 下载地址  https://www.elastic.co/cn/downloads/elasticsearch
  2. 尝试安装:选择适合你的版本下载(我的是mac os版),解压,然后 cdelasticsearch-7.2.0目录下,
  • 启动并运行一个单机纯elasticsearch实例:执行 shell命令 bin/elasticsearch。
  • 验证是否启动成功:打开另一个shell命令窗口执行命令 curl localhost:9200

返回信息如下:

返回的是一个JSON,包含:当前节点、集群、版本等信息,说明启动成功。

  • 停止elasticsearch?ctrl + c 停止

注意:重启的时候 需要把network.host注释掉,否则需要配置其他才能再次重启。

  • 如果允许其他机器访问elasticsearch 则需要把 config/elasticsearch.yml文件中 network.host: 192.168.0.1 放开注释,然后改为0.0.0.0 让任何人都可以访问。
  • node和cluster 讲解见下面页面

http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

  •  安装中文分词 插件

执行shell命令:bin/elasticsearch-plugin install analysis-smartcn

analysis-smartcn 官方在2019-7 已经弃用。

(so far 分词插件安装失败稍后补充)

  • 其他配置基本上都是在集群的基础上展开的,所以进一步学习elasticsearch需要先学习搭建集群。其实在启动本地实例时,就已经相当于启动了一个简单的集群,只不过这个集群只有一个node。
  • 修改本地节点名称

bin/elasticsearch -Ecluster.name=local_cluster -Enode.name=my_node

  • 集群节点 健康检查

curl -X GET 'localhost:9200/_cat/health?v'

健康状态有3种:

Green集群一切运行正常
Yellow所有数据都可用,但是一些副本还没有分配
Red一些数据因为某些原因不可用(集群运转不正常)
  • 查看集群中的节点列表

curl -X GET 'localhost:9200/_cat/nodes?v'

  • 查看所有索引

curl -X GET 'localhost:9200/_cat/indices?v'

  • 创建一个索引

以上显示已经有一个索引weather存在,再创建一个索引

curl -X PUT 'localhost:9200/city'

再查看索引列表:

新的索引 city 新增成功。

新增的索引状态是黄色的,是因为它只是在默认的节点上产生了一个副本,并没有被分配(新节点),再创建一个节点,该索引就会被分配到新的节点,状态就会变成绿色。

  • 删除索引

删除一个索引:curl -X DELETE 'localhost:9200/customer?pretty'

acknowledged 返回true表示删除成功

  • 添加文档

下面给索引city 添加文档,带id且id为1,命令如下:

curl -X PUT "localhost:9200/city/_doc/1?pretty" -H 'Content-Type: application/json' -d'

{ "name": "xiaobu"}'

添加成功返回:

  • 不带id 进行为索引添加文档:

curl -X POST "localhost:9200/city/_doc?pretty" -H 'Content-Type: application/json' -d'

{"name": "Henrry"}'

返回:id是生成的

  • 查看文档document,命令

curl -X GET 'localhost:9200/city/_doc/1?pretty'

_source 属性中存储的是文档document中的json内容.

  • 修改document

(1) 再次执行一下命令,xiaobu改为Little Cat.

curl -X PUT "localhost:9200/city/_doc/1?pretty" -H 'Content-Type: application/json' -d'

{"name":"Little Cat"}'

(2) 使用_update API

curl -X POST "localhost:9200/city/_update/1?pretty" -H 'Content-Type: application/json' -d'

{"doc": {"name": "Jane", "age": 20}}'

综上:Elasticsearch提供了一种类似SQL update-where 更新多个文档的能力。

  • 删除document

curl -X DELETE 'localhost:9200/city/_doc/2?pretty'

  • 批量操作

略。

  • 查询索引下所有文档

curl -X GET "localhost:9200/city/_search?q=*&pretty"

参数介绍:

q=*  是指跟索引下的所有文档去匹配

sort=account_number:asc 是指按照account_number属性 生序排序

pretty 是高速Elasticsearch 返回一个格式化好的json结果。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值