首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
ElasticSearch开篇ES的安装
ElasticSearch的基本概念与名词解析
ElasticSearch数据管理文档的基础操作
ElasticSearch全文搜索API实践
ElasticSearch之Term-Query-API实践
ElasticSearch组合查询
ElasticSearch推荐搜索选项Suggesters的API
ElasticSearch统计需求之聚合
ElasticSearch集群管理API的使用
ElasticSearch索引管理API的使用
ElasticSearch中Mapping的使用
ElasticSearch关系模型之嵌套类型和父子文档
ElasticSearch正排索引与倒排索引简介
ElasticSearch全文搜索之倒排索引的实现
ElasticSearch数据相似的依据之相关性评分
ElasticSearch词项生成器之分词器
ElasticSearch分布式之集群中常见问题与解决方案
ElasticSearch分布式文档搜索机制
ElasticSearch数据持久化之分布式文档的存储流程
ElasticSearch分页之from+size、search after、scroll api
ElasticSearch聚合分析的原理之聚合结果一定准确
ElasticSearch数据副本策略
ElasticSearch数据副本模型
ElasticSearch集群运维
ElasticSearch索引的生命周期ILM
ElasticSearch安全之集群安全
ElasticSearch异常管理之搭建ELK日志系统
当前位置:
首页>>
技术小册>>
ElasticSearch零基础到实战
小册名称:ElasticSearch零基础到实战
本文将介绍 Elasticsearch 的文档基础操作,包括创建、读取、更新和删除文档。 **创建文档** 在 Elasticsearch 中创建文档非常简单。只需指定文档的索引、类型和 ID,以及文档的内容,即可将文档存储到 Elasticsearch 中。 下面是一个创建文档的示例。假设要在名为 people 的索引中创建一个名为 Alice 的文档,其中包含两个字段 name 和 age。 ```asp from elasticsearch import Elasticsearch es = Elasticsearch() doc = { "name": "Alice", "age": 20 } es.create(index="people", id=1, body=doc) ``` 在上面的代码中,index 参数指定了文档所在的索引,id 参数指定了文档的 ID,body 参数指定了文档的内容。 注意,如果指定的索引不存在,Elasticsearch 会自动创建它。如果文档 ID 已经存在,则会返回一个异常。 **读取文档** 读取文档也非常简单。只需指定文档的索引、类型和 ID,即可从 Elasticsearch 中读取文档的内容。 下面是一个读取文档的示例。假设之前创建了一个 id 为 1 的文档,它的 name 字段值为 Alice,age 字段值为 20。 ```asp from elasticsearch import Elasticsearch es = Elasticsearch() doc = es.get(index="people", id=1) print(doc['_source']) ``` 在上面的代码中,index 参数指定了文档所在的索引,id 参数指定了文档的 ID。调用 get 方法可以从 Elasticsearch 中读取文档的内容,返回结果是一个包含文档内容的 JSON 对象。通过访问 _source 字段,可以获取文档的具体内容。 注意,如果指定的索引、类型或 ID 不存在,则会返回一个异常。 **更新文档** 除了创建文档,还可以更新已有文档。Elasticsearch 提供了一种简单的方式,即使用 update API。 下面是一个更新文档的示例。假设之前创建了一个 id 为 1 的文档,它的 name 字段值为 Alice,age 字段值为 20。 ```asp from elasticsearch import Elasticsearch es = Elasticsearch() doc = { "doc": { "name": "Bob", "age": 25 } } es.update(index="people", id=1, body=doc) ``` 此时,文档的 name 字段被更新为 Bob,age 字段被更新为 25。 **删除文档** 接下来,我们将介绍如何删除文档。删除文档可以使用 DELETE 请求。以下是一个示例: ```asp response = es.delete(index="my-index", id=1) print(response) ``` 这将从名为 my-index 的索引中删除 ID 为 1 的文档。如果成功删除文档,将返回一个包含以下信息的 JSON 响应: ```asp { "_index": "my-index", "_type": "_doc", "_id": "1", "_version": 2, "result": "deleted", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 } ``` 如果文档不存在,将返回以下 JSON 响应: ```asp { "error": { "root_cause": [ { "type": "index_not_found_exception", "reason": "no such index [my-index]", "index_uuid": "_na_", "resource.type": "index_or_alias", "resource.id": "my-index", "index": "my-index" } ], "type": "index_not_found_exception", "reason": "no such index [my-index]", "index_uuid": "_na_", "resource.type": "index_or_alias", "resource.id": "my-index", "index": "my-index" }, "status": 404 } ``` 现在,我们已经了解了如何向索引添加、获取和删除文档。
上一篇:
ElasticSearch的基本概念与名词解析
下一篇:
ElasticSearch全文搜索API实践
该分类下的相关小册推荐:
ElasticSearch入门与实践