在Elasticsearch中,Document是最基本的数据单元。它是一个JSON格式的文档,包含了要索引和搜索的数据。每个Document都有一个唯一的ID来标识它,而且必须属于一个索引。
创建Document
要创建一个新的Document,可以使用HTTP PUT请求。下面是一个创建名为my_index的索引并向其中添加一条Document的示例:
代码语言:javascript复制PUT /my_index/_doc/1
{
"title": "Elasticsearch Basics",
"content": "Elasticsearch is a distributed, open source search and analytics engine"
}
在上面的示例中,"PUT"指示创建新的Document,"_doc"是Elasticsearch默认的Document类型,"1"是指Document的唯一ID。请求体中的"title"和"content"字段分别是Document中的数据,可以根据实际情况进行修改。
如果不指定ID,Elasticsearch会自动生成一个唯一ID并分配给新的Document。以下是不指定ID的示例:
代码语言:javascript复制PUT /my_index/_doc
{
"title": "Elasticsearch Basics",
"content": "Elasticsearch is a distributed, open source search and analytics engine"
}
获取Document
可以使用HTTP GET请求来获取单个Document。以下是获取刚才创建的Document的示例:
代码语言:javascript复制GET /my_index/_doc/1
如果Document存在,Elasticsearch将返回JSON格式的响应,包含Document的数据和元数据。如果Document不存在,将返回404错误。
更新Document
可以使用HTTP POST请求或HTTP PUT请求来更新Document。以下是使用HTTP POST请求更新Document的示例:
代码语言:javascript复制POST /my_index/_doc/1/_update
{
"doc": {
"title": "Elasticsearch Basics",
"content": "Elasticsearch is a distributed, open source search and analytics engine. It is used for full-text search, structured search, analytics, and more"
}
}
在上面的示例中,"POST"指示更新现有的Document,"_update"是指使用更新API,"doc"字段包含了要更新的数据。
删除Document
可以使用HTTP DELETE请求来删除单个Document。以下是删除刚才创建的Document的示例:
代码语言:javascript复制DELETE /my_index/_doc/1
如果Document存在,Elasticsearch将返回一个JSON格式的响应,指示删除成功。如果Document不存在,将返回404错误。