elasticsearch入门
elasticsearch入门
入门
单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。
下面的命令可以查看当前节点的所有 Index。
$ curl -X GET ‘http://localhost:9200/_cat/indices?v'
下面的命令可以列出每个 Index 所包含的 Type。
$ curl ‘localhost:9200/_mapping?pretty=true’
_cat命令查看状态
查看所有索引
1  | 
  | 
$ curl localhost:9200/_cat/master?v
id                     host      ip        node
QG6QrX32QSi8C3-xQmrSoA 127.0.0.1 127.0.0.1 Manslaughter1
2
3
4
*   help
每个命令都支持使用help参数,来输出可以显示的列:
GET _cat/master?help
id   |   | node id
host | h | host name
ip   |   | ip address
node | n | node name  
1  | 
  | 
GET /_cat/master?v
id                     host      ip        node
QG6QrX32QSi8C3-xQmrSoA 127.0.0.1 127.0.0.1 Manslaughter
GET /_cat/master?h=host,ip,node
127.0.0.1 127.0.0.1 Manslaughter1
2
3
4
5
6
#### `索引增删`
新建 Index,可以直接向 Elastic 服务器发出 PUT 请求。下面的例子是新建一个名叫weather的 Index。
```PUT /weather
服务器返回一个 JSON 对象,里面的acknowledged字段表示操作成功。
1  | {  | 
查看weather索引信息
1  | GET weather  | 
其中,number_of_replicas 是数据备份数,如果只有一台机器,设置为0;number_of_shards 是数据分片数,默认为5,有时候设置为3
获取设置信息
1  | #获取weather的设置  | 
修改副本数量:
1  | PUT weather/_settings  | 
新增记录
向指定的 /Index/Type 发送 PUT 请求,就可以在 Index 里面新增一条记录。比如,向/accounts/person发送请求,就可以新增一条人员记录。
1  | PUT accounts/job/1  | 
服务器返回的 JSON 对象,会给出 Index、Type、Id、Version 等信息。
1  | {  | 
新增记录的时候,也可以不指定 Id,这时要改成 POST 请求。
1  | POST /accounts/job  | 
服务器返回的 JSON 对象里面,_id字段就是一个随机字符串。
1  | {  | 
查询记录
使用 GET 方法,直接请求/Index/Type/_search,就会返回所有记录。
1  | #查询该索引下所有文档  | 
查询返回结果中字段含义:
1  | took: 表示该操作的耗时(ms)  | 
全文搜索
Elastic 的查询非常特别,使用自己的查询语法,要求 GET 请求带有数据体。
1  | GET accounts/job/_search  | 
上面代码使用 Match 查询,指定的匹配条件是desc字段里面包含”师”这个词。返回结果如下:
1  | {  | 
Elastic 默认一次返回10条结果,可以通过size字段改变这个设置。
1  | GET accounts/job/_search  | 
上面代码指定,每次只返回一条结果。
还可以通过from字段,指定位移。
1  | GET accounts/job/_search  | 
如果有多个搜索关键字, Elastic 认为它们是or关系
1  | GET accounts/job/_search  | 
上面代码搜索的是软件 or 系统。
如果要执行多个关键词的and搜索,必须使用布尔查询。
1  | GET accounts/job/_search  | 
修改记录 (直接覆盖)
1  | PUT accounts/job/1  | 
更新记录后,返回结果中有几个字段发生改变:1
2
3"_version" : 2,
"result" : "updated",
"created" : false
版本(version)从1变成2,操作类型(result)从created变成updated,created字段变成false,因为这次不是新建记录。
删除记录
1  | #删除一条记录(文章),  | 
本文作者 : 对六
原文链接 : http://duiliuliu.github.io/2018/07/25/2018-07-25-elasticsearch入门/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
你我共勉!