> Elasticsearch 支持 JSON 格式的操作数据,它就是 DSL (Domain Specific Language),通过将查询的 DSL 看待成 AST (Abstract Syntax Tree),其中包括叶子查询子句(单一逻辑)及复合查询子句(组合逻辑)。
以下操作都在 Kibana Dev Tools 中进行实践。
索引(Index)
创建索引
PUTmateriel{ "settings" : { "number_of_shards" : 3, "number_of_replicas": 1 }, "mappings" : { "properties" : { "materiel" : { "type" : "text" }, "description" : { "type" : "text" } } } }
查看索引
GETmateriel
更新索引
# 修改索引 Setting 中的 副本数量为 2PUTmateriel{ "settings" : { "number_of_replicas": 2 } }
删除索引
DELETEmateriel
文档(Document)
创建文档
# 创建索引并手动指定ID,不指定时为随机生成文档IDPOSTmateriel/_doc/1{ "materiel" : "10010001", "description" : "橙汁"}
# 创建索引并手动指定ID,不指定ID时会报错PUTmateriel/_doc/2{ "materiel" : "10010002", "description" : "葡萄汁"}
查看文档
# 指定ID获取数据materiel/_doc/1
# 获取索引全部数据GETmateriel/_search{ "query": { "match_all": {} } }
# 同时 POST 方法也适用用于获取全部数据POSTmateriel/_search{ "query": { "match_all": {} } }
更新文档
# POST 已存在的 ID 则为更新数据,否则为创建文档POSTmateriel/_doc/1{ "materiel" : "10010001", "description" : "西瓜汁"}
# PUT 已存在的 ID 则为更新数据,否则为提示失败PUTmateriel/_doc/2{ "materiel" : "10010002", "description" : "青瓜汁"}
删除文档
# 根据 ID 删除对应的文档DELETEmateriel/_doc/1