Elasticsearch文档的CRUD

xiaoxiao2021-02-27  168

索引、类型、文档、字段

索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。类型用于区分同一个索引下不同的数据类型,相当于关系型数据库中的表文档是ElasticSearch中存储的实体,类比关系型数据库,每个文档相当于数据库表中的一行数据。文档由字段组成,相当于关系数据库中列的属性,不同的是ES的不同文档可以具有不同的字段集合。 对比关系型数据库: Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields 1

5.2 创建文档

以博客内容管理为例,索引名为blog,类型为article,新加一个文档:

curl -XPUT http://localhost:9200/blog/article/1 -d ' { "id": "1", "title": "New version of Elasticsearch released!", "content": "Version 1.0 released today!", "priority": 10, "tags": ["announce", "elasticsearch", "release"] }'

5.3检索文档

http://localhost:9200/blog/article/1?pretty

5.4更新文档

curl -XPOST http://localhost:9200/blog/article/1/_update -d '{ "script": "ctx._source.content = \"new content\"" }'

5.5删除文档

curl -XDELETE http://localhost:9200/blog/article/1 1

六、相关概念


6.1节点与集群

ElasticSearch是一个分布式全文搜索引擎,既可以做为一个独立的搜索服务器工作,也可以使用多台服务器同时运行,这样就构成了一个集群(cluster),集群的每一个服务器称为一个节点(node).

6.2分片

当数据量比较大的时候,受RAM、硬盘容量的限制,同时一个节点的计算能力有限。可以将数据切分,每部分是一个单独的lucene索引,成为分片(shard)。每个分片可以被存储在集群的不同节点上。当需要查询由多个分片构成的索引时,ElasticSearch将查询发送到每个相关的分片,之后将查询结果合并。过程对应用透明,无须知道分片的存在。

6.3副本

副本是对原始分片的一个精确拷贝,原始分片成为主分片。对索引的所有操作都直接作用在主分片上,每个主分片可以有零个或多个副分片。主分片丢失,集群可以将一个副分片提升为主的新分片。

转载请注明原文地址: https://www.6miu.com/read-15145.html

最新回复(0)