无锡网站制作有哪些,搜狗seo软件,给装修公司做网站,全网营销概念文章目录 一、Elasticsearch 基本概念及工作原理(一)基本概念(二)工作原理二、Elasticsearch 原生 RESTful 方式的增删改查(一)创建索引(二)插入文档(三)查询文档(四)更新文档(五)删除文档(六)删除索引三、Python SDK 实现增删改查(一)安装 Elasticsearch Py… 文章目录 一、Elasticsearch 基本概念及工作原理(一)基本概念(二)工作原理 二、Elasticsearch 原生 RESTful 方式的增删改查(一)创建索引(二)插入文档(三)查询文档(四)更新文档(五)删除文档(六)删除索引 三、Python SDK 实现增删改查(一)安装 Elasticsearch Python SDK(二)连接到 Elasticsearch(三)插入文档(四)查询文档(五)更新文档(六)删除文档 四、查询方式详解(一)基本查询(二)复合查询(三)聚合查询 五、Elasticsearch 单条文档数据结构及元数据字段名解释(一)文档数据结构(二)元数据字段名解释 六、Elasticsearch 查询结果详细解释(一)hits(二)aggregations(如果有聚合查询) 一、Elasticsearch 基本概念及工作原理
(一)基本概念
索引(Index) 它是 Elasticsearch 中存储数据的地方,类似于数据库中的表。一个索引可以包含多个文档,并且这些文档通常具有相似的结构。例如,你可以有一个名为“blog_index”的索引来存储所有的博客文章。文档(Document) 文档是 Elasticsearch 中的基本数据单元,以 JSON 格式表示。它类似于数据库中的一行记录。每个文档都有自己的唯一标识符(_id),并且存储在索引中。例如,一篇博客文章的内容、标题、作者等信息可以组成一个文档。类型(Type) 在 Elasticsearch 7.x 及以后版本中,一个索引通常只对应一种类型的文档。在早期版本中,类型用于在一个索引内对文档进行分类。节点(Node) 一个 Elasticsearch 实例就是一个节点。多个节点可以组成一个集群,共同存储和处理数据。节点可以存储数据、参与集群的索引和搜索功能。集群(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."
}(三)查询文档
查询所有文档 使用 GET 请求查询索引中的所有文档。例如:GET /my_index/_search带条件查询文档 通过指定查询条件来查询特定文档。比如查询“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 =/