您的位置:首页 > 文旅 > 美景 > 深圳外贸建站网络推广联客易_产品开发流程和项目管理流程_公司官网模板_武汉seo网站优化排名

深圳外贸建站网络推广联客易_产品开发流程和项目管理流程_公司官网模板_武汉seo网站优化排名

2025/2/24 22:16:48 来源:https://blog.csdn.net/Grit_my/article/details/143425797  浏览:    关键词:深圳外贸建站网络推广联客易_产品开发流程和项目管理流程_公司官网模板_武汉seo网站优化排名
深圳外贸建站网络推广联客易_产品开发流程和项目管理流程_公司官网模板_武汉seo网站优化排名

文章目录

    • 一、Elasticsearch 基本概念及工作原理
      • (一)基本概念
      • (二)工作原理
    • 二、Elasticsearch 原生 RESTful 方式的增删改查
      • (一)创建索引
      • (二)插入文档
      • (三)查询文档
      • (四)更新文档
      • (五)删除文档
      • (六)删除索引
    • 三、Python SDK 实现增删改查
      • (一)安装 Elasticsearch Python SDK
      • (二)连接到 Elasticsearch
      • (三)插入文档
      • (四)查询文档
      • (五)更新文档
      • (六)删除文档
    • 四、查询方式详解
      • (一)基本查询
      • (二)复合查询
      • (三)聚合查询
    • 五、Elasticsearch 单条文档数据结构及元数据字段名解释
      • (一)文档数据结构
      • (二)元数据字段名解释
    • 六、Elasticsearch 查询结果详细解释
      • (一)hits
      • (二)aggregations(如果有聚合查询)

一、Elasticsearch 基本概念及工作原理

(一)基本概念

  1. 索引(Index)
    它是 Elasticsearch 中存储数据的地方,类似于数据库中的表。一个索引可以包含多个文档,并且这些文档通常具有相似的结构。例如,你可以有一个名为“blog_index”的索引来存储所有的博客文章。
  2. 文档(Document)
    文档是 Elasticsearch 中的基本数据单元,以 JSON 格式表示。它类似于数据库中的一行记录。每个文档都有自己的唯一标识符(_id),并且存储在索引中。例如,一篇博客文章的内容、标题、作者等信息可以组成一个文档。
  3. 类型(Type)
    在 Elasticsearch 7.x 及以后版本中,一个索引通常只对应一种类型的文档。在早期版本中,类型用于在一个索引内对文档进行分类。
  4. 节点(Node)
    一个 Elasticsearch 实例就是一个节点。多个节点可以组成一个集群,共同存储和处理数据。节点可以存储数据、参与集群的索引和搜索功能。
  5. 集群(Cluster)
    由一个或多个节点组成的集合。集群提供了高可用性和可扩展性,数据可以分布在多个节点上,并且在节点故障时能够自动重新分配数据。

(二)工作原理

Elasticsearch 将数据存储在索引中,索引会被分成多个分片(Shard)。这些分片可以分布在不同的节点上。当进行数据存储时,文档会被路由到特定的分片。在查询时,查询请求会被分发到相关的分片上,每个分片执行查询并返回结果,然后这些结果在协调节点上合并后返回给用户。

Elasticsearch 使用倒排索引来实现快速查询。倒排索引记录了每个单词在哪些文档中出现,以及出现的位置等信息。这样,当查询特定关键词时,可以快速定位到包含该关键词的文档。

二、Elasticsearch 原生 RESTful 方式的增删改查

(一)创建索引

使用 PUT 请求创建索引。例如,创建一个名为“my_index”的索引:

PUT /my_index

(二)插入文档

使用 POST 请求向索引中插入文档。假设向“my_index”插入一个简单文档:

POST /my_index/_doc
{"name": "example","description": "This is an example document."
}

(三)查询文档

  1. 查询所有文档
    使用 GET 请求查询索引中的所有文档。例如:
GET /my_index/_search
  1. 带条件查询文档
    通过指定查询条件来查询特定文档。比如查询“name”为“example”的文档:
GET /my_index/_search
{"query": {"match": {"name": "example"}}
}

(四)更新文档

使用 POST 请求更新文档。例如,更新“my_index”中某个文档的“description”字段:

POST /my_index/_update/{document_id}
{"doc": {"description": "This is an updated example document."}
}

(五)删除文档

使用 DELETE 请求删除指定文档。例如:

DELETE /my_index/_doc/{document_id}

(六)删除索引

使用 DELETE 请求删除整个索引:

DELETE /my_index

三、Python SDK 实现增删改查

(一)安装 Elasticsearch Python SDK

使用pip安装:

pip install elasticsearch

(二)连接到 Elasticsearch

from elasticsearch import Elasticsearches = Elasticsearch([{'host': 'localhost', 'port': 9200}])

(三)插入文档

doc =</

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com