==================================================================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
注意請求體