文章目录
- 一、document定义:
- 二、单条增删改查
- 1、创建索引:
- 2、添加文档:
- 3、获取文档:
- 4、更新文档:
- 5、删除文档:
- 三、批量增删改查:
- 1、批量添加文档:
- 2、批量更新文档:
- 3、批量删除文档:
- 4、批量查询文档:
- 四、document小结:
一、document定义:
-
在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。它是一条具有结构化数据的记录,以 JSON(JavaScript Object Notation)格式表示。
-
每个文档都有一个唯一的标识符,称为 _id。如果你没有为文档提供自定义的 _id 值,Elasticsearch 将为其生成一个唯一的标识符。
-
文档可以包含任意数量的字段,每个字段都有一个字段名和一个对应的值。字段的值可以是文本、数字、日期、布尔值、数组或嵌套的对象。
-
在 Elasticsearch 中,文档是不可变的。这意味着一旦创建了文档,你不能直接修改它,而是通过替换整个文档来实现更新。
-
文档通常被组织在索引中,索引是一组具有共同特征的文档集合。你可以根据索引、类型和标识符来访问和操作文档。
-
在查询数据时,你可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。
-
总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符,可以包含任意数量的字段和对应的值。文档是不可变的,可以通过索引、类型和标识符进行访问和操作。
二、单条增删改查
1、创建索引:
PUT /myindex
2、添加文档:
POST /myindex/_doc/1
{
"title": "Example Document",
"content": "This is an example document"
}
3、获取文档:
GET /myindex/_doc/1
4、更新文档:
POST /myindex/_doc/1/_update
{
"doc": {
"title": "Updated Document",
"content": "This document has been updated"
}
}
执行更新:POST /myindex/_doc/1/_update
再次查询:GET /myindex/_doc/1
5、删除文档:
DELETE /myindex/_doc/1
请将 myindex 替换为你想要操作的索引名称。
在 Kibana Console 中逐步执行这些操作,你将能够查看到对索引中文档的增删改查操作的结果。
三、批量增删改查:
1、批量添加文档:
POST /myindex/_bulk
{"index":{"_id":"1"}}
{"title":"Document 1","content":"This is document 1"}
{"index":{"_id":"2"}}
{"title":"Document 2","content":"This is document 2"}
2、批量更新文档:
POST /myindex/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"Updated Document 1"}}
{"update":{"_id":"2"}}
{"doc":{"title":"Updated Document 2"}}
3、批量删除文档:
POST /myindex/_bulk
{"delete":{"_id":"1"}}
{"delete":{"_id":"2"}}
4、批量查询文档:
POST /myindex/_msearch
{}
{"query":{"match_all":{}},"size":10}
四、document小结:
-
在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。每个文档都有一个唯一的标识符 _id,可以自动生成或自定义。
-
文档使用 JSON(JavaScript Object Notation)格式表示,可以包含任意数量的字段。字段由字段名和对应的值组成,值可以是文本、数字、日期、布尔值、数组或嵌套的对象。
-
文档是不可变的,一旦创建,不能直接修改。要更新文档,需要替换整个文档。
-
文档通常被组织在索引中,索引是一组具有共同特征的文档集合。可以根据索引、类型和标识符来访问和操作文档。
-
文档的创建和更新是异步的,意味着写入操作不会立即对搜索结果产生影响。Elasticsearch 会将写入操作存储在内存缓冲区中,然后按照一定的策略将数据刷新到磁盘。
-
在查询数据时,可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。通过构建查询语句,可以对文档进行全文搜索、精确匹配、范围过滤等操作。
-
文档的性能受到多个因素的影响,包括索引设置、分片和副本配置、硬件性能等。为了提高性能,可以使用批量操作来同时创建、更新或删除多个文档。
-
总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符。文档可以包含任意数量的字段和对应的值,是不可变的。可以通过索引、类型和标识符来访问和操作文档,使用查询语言进行搜索和过滤。文档的性能受到多个因素的影响,可以通过批量操作提高性能。