Elasticsearch DSL - CRUD

网友投稿 531 2022-05-29

elasticsearch 支持 JSON 格式的操作数据,它就是 DSL (Domain Specific Language),通过将查询的 DSL 看待成 AST (Abstract Syntax Tree),其中包括叶子查询子句(单一逻辑)及复合查询子句(组合逻辑)。

以下操作都在 Kibana Dev Tools 中进行实践。

索引(Index)

# 创建索引 PUT materiel { "settings" : { "number_of_shards" : 3, "number_of_replicas": 1 }, "mappings" : { "properties" : { "materiel" : { "type" : "text" }, "description" : { "type" : "text" } } } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 获取索引信息 GET materiel

1

2

# 修改索引 Setting 中的 副本数量为 2 PUT materiel { "settings" : { "number_of_replicas": 2 } } ##### 删除索引 ```json # 删除索引 DELETE materiel

1

2

3

4

Elasticsearch DSL - CRUD

5

6

7

8

9

10

11

# 创建索引并手动指定ID,不指定时为随机生成文档ID POST materiel/_doc/1 { "materiel" : "10010001", "description" : "橙汁" }

1

2

3

4

5

6

# 创建索引并手动指定ID,不指定ID时会报错 PUT materiel/_doc/2 { "materiel" : "10010002", "description" : "葡萄汁" }

1

2

3

4

5

6

# 指定ID获取数据 materiel/_doc/1

1

2

# 获取全部索引中的文档数据 GET _search { "query": { "match_all": {} } }

1

2

3

4

5

6

7

# 获取索引全部数据 GET materiel/_search { "query": { "match_all": {} } }

1

2

3

4

5

6

7

# 同时 POST 方法也适用用于获取全部数据 POST materiel/_search { "query": { "match_all": {} } }

1

2

3

4

5

6

7

# POST 已存在的 ID 则为更新数据,否则为创建文档 POST materiel/_doc/1 { "materiel" : "10010001", "description" : "西瓜汁" }

1

2

3

4

5

6

# PUT 已存在的 ID 则为更新数据,否则为提示失败 PUT materiel/_doc/2 { "materiel" : "10010002", "description" : "青瓜汁" }

1

2

3

4

5

6

# 根据 ID 删除对应的文档 DELETE materiel/_doc/1

1

2

Elasticsearch

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:第一章 对html的认识及基本标签介绍
下一篇:《信息化项目文档模板五——系统详细设计模板》
相关文章