Elasticsearch 是一个开源的分布式搜索和分析引擎,用于存储和检索大规模数据。它使用 JSON 格式的文档来存储数据,并提供了丰富的查询和分析功能。下面我会结合示例详细说明如何在 Elasticsearch 中进行增删改查操作。
注意:以下示例中的操作都是基于 Elasticsearch 7.x 版本。
要在 Elasticsearch 中增加文档,首先需要指定索引(类似于数据库表)和类型(在 Elasticsearch 7.x 中已被弃用,不再是必需的),然后提供一个唯一的文档标识(ID),以及要存储的文档内容。
POST /my_index/_doc/1
{
"title": "Elasticsearch Introduction",
"content": "Elasticsearch is a distributed search and analytics engine."
}
要更新现有的文档,您可以使用 POST
请求,并指定要更新的文档的索引、类型和标识。使用 _update
终端点,您可以提供部分更新,而不必替换整个文档。
POST /my_index/_update/1
{
"doc": {
"content": "Elasticsearch is a powerful search and analytics engine."
}
}
要删除文档,可以使用 DELETE
请求,指定要删除的文档的索引、类型和标识。
DELETE /my_index/_doc/1
Elasticsearch 提供了强大的查询功能。以下是一个简单的匹配查询示例,用于搜索标题中包含关键字 "Elasticsearch" 的文档:
GET /my_index/_search
{
"query": {
"match": {
"title": "Elasticsearch"
}
}
}
以上示例展示了如何进行基本的增删改查操作。然而,Elasticsearch 的功能远不止于此,它支持复杂的查询、聚合、分析和全文搜索等高级功能。要充分利用 Elasticsearch,建议您深入学习其查询语言和高级用法。