==================================================================docker
本篇参考:数据库
http://www.javashuo.com/article/p-ftyektsc-z.htmljson
==================================================================编码
Index 索引---DB数据库url
Type 类型---数据表spa
Document 文档---表中一条记录code
Field 字段---记录中的每一个列属性orm
Shard 分片---对索引进行分片,分布于集群各个节点上,下降单个节点的压力
Replica 备份---拷贝分片就完成了备份
接口均符合Rest风格
API基本格式:
http://<IP>:<PORT>/<Index>/<Type>/<Document的ID>
经常使用HTTP请求方法:
GET/PUT/POST/DELETE
结构化索引:mappings指定了的。可经过PostMan直接调用接口建立,也能够经过kibana的Dev Tools调用接口建立。【文章下面讲】
非结构化索引:mappings未指定的,是空的{},能够经过elasticSearch-head建立【参考:http://www.javashuo.com/article/p-sufcuceq-bb.html】
url地址:
http://192.168.92.130:9200/people
请求方式:
PUT
请求体格式:
raw
JSON(application/json)
请求体:
{ "settings":{ "number_of_shards":3, "number_of_replicas":1 }, "mappings":{ "man":{ "properties":{ "name":{ "type":"text" }, "country":{ "type":"keyword" }, "age":{ "type":"integer" }, "date":{ "type":"date", "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" } } } } }
注意:
1》请求方式必须是PUT,不然会报错:
"error": "Incorrect HTTP method for uri [/people] and method [POST], allowed: [PUT, GET, HEAD, DELETE]"
2》关于请求体的解读:
3》关于text和keyword数据类型的区别
keyword数据类型和text数据类型都是字符串类型
keyword数据类型不会被分词,可用以存储 姓名、邮箱地址、邮政编码等这类型的文本内容,能够用来检索过滤、排序、聚合。keyword字段只能用自身来进行检索!
text数据类型会被分词。text数据类型用来索引长文本,在创建索引以前即根据配置的分词器进行分词,搜索是也会根据配置的分词器进行搜索,没配置则使用默认分词器。text类型不会进行排序和聚合。
4》其余数据类型查看
http://www.javashuo.com/article/p-duoitlny-bd.html
PUT http://ip:port/index/type/id
POST http://ip:port/index/type
POST http://ip:port/index/type/id/_update
GET http://ip:port/index/type/id
POST http://ip:port/index/_search
注意请求体