本文主要是介绍Elasticsearch 7.2.0 官方文档学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 官网 下载地址 https://www.elastic.co/cn/downloads/elasticsearch
- 尝试安装:选择适合你的版本下载(我的是mac os版),解压,然后 cd到elasticsearch-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结果。
这篇关于Elasticsearch 7.2.0 官方文档学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!