脚本操作ES
RESTful风格介绍
2.基于HTTP。
3.使用XML格式定义或JSON格式定义。
4.每一个URI代表1种资源。
5.客户端使用GET、POST、PUT、DELETE 4个表示操作方式的动词对服务端资源进行操作:
GET:用来获取资源
POST:用来新建资源(也可以用于更新资源)
PUT:用来更新资源
DELETE:用来删除资源
http://ip:端口/索引名称
查询
GET http://ip:端口/索引名称 # 查询单个索引信息 GET http://ip:端口/索引名称1,索引名称2... # 查询多个索引信息 GET http://ip:端口/_all # 查询所有索引信息
删除索引
DELETE http://ip:端口/索引名称
关闭、打开索引
POST http://ip:端口/索引名称/_close POST http://ip:端口/索引名称/_open
-
简单数据类型
-
字符串
text:会分词,不支持聚合
keyword:不会分词,将全部内容作为一个词条,支持聚合
-
-
布尔:boolean
-
二进制:binary
integer_range, float_range, long_range, double_range, date_range
-
复杂数据类型
•数组:[ ] Nested: nested
(for arrays of JSON objects 数组类型的JSON对象)
•对象:{ } Object: object(for single JSON objects 单个JSON对象)
PUT person GET person #添加映射 PUT /person/_mapping { "properties":{ "name":{ "type":"text" }, "age":{ "type":"integer" } } }
#创建索引并添加映射 PUT /person1 { "mappings": { "properties": { "name": { "type": "text" }, "age": { "type": "integer" } } } } GET person1/_mapping
添加字段
#添加字段 PUT /person1/_mapping { "properties": { "name": { "type": "text" }, "age": { "type": "integer" } } }
POST /person1/_doc/2 { "name":"张三", "age":18, "address":"北京" } GET /person1/_doc/1
添加文档,不指定id
#添加文档,不指定id POST /person1/_doc/ { "name":"张三", "age":18, "address":"北京" } #查询所有文档 GET /person1/_search
删除文档
#删除指定id文档
DELETE /person1/_doc/1