(三)ElasticSearch核心知识理解(目录结构,索引,RESTful)

这篇具有很好参考价值的文章主要介绍了(三)ElasticSearch核心知识理解(目录结构,索引,RESTful)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.ElasticSearch目录结构

  • bin:包含 Elasticsearch 的可执行文件,如 elasticsearch(用于启动 Elasticsearch)、elasticsearch-plugin(用于管理插件)等。

  • config:包含 Elasticsearch 的配置文件。

    • elasticsearch.yml:主要的配置文件,用于配置 Elasticsearch 的各种设置,如集群名称、节点设置、网络配置等。
    • jvm.options:用于配置 Elasticsearch 节点的 JVM 设置,如内存分配、垃圾回收等。
    • log4j2.properties:用于配置 Elasticsearch 的日志记录设置。
      data:默认的数据目录,用于存储 Elasticsearch 的索引数据和相关文件。每个节点在该目录下会有一个子目录,存放该节点的数据。
  • logs:存放 Elasticsearch 的日志文件。

  • plugins:用于存放 Elasticsearch 的插件文件。当你安装第三方插件时,它们将被放置在该目录下。

  • config/scripts:存放 Elasticsearch 的脚本文件,如查询脚本、聚合脚本等。

  • config/templates:存放 Elasticsearch 的索引模板文件,用于定义索引的映射、设置和别名。

  • config/ingest-geoip:包含用于处理地理位置信息的 Ingest GeoIP 插件的数据文件。

这只是 Elasticsearch 目录结构的基本示例,实际安装的目录结构可能因版本和安装方式而有所不同。安装 Elasticsearch 后,你可以通过浏览这些目录和文件来深入了解 Elasticsearch 的配置和数据存储机制,并进行相应的定制和管理。

2.ElasticSearch核心概念理解

  • 索引(Index):索引是 Elasticsearch 中最高层次的数据容器,它类似于关系数据库中的数据库。索引包含一组具有相似结构的文档,并为这些文档提供了快速的搜索、检索和分析能力。(type取消后类似于关系数据库MySQL 中的表

  • 文档(Document):文档是 Elasticsearch 存储和索引的基本单位。它是一条具有结构化数据的 JSON 文档,可以是任意类型的数据,如产品信息、用户数据、日志条目等。每个文档都有一个唯一的标识符(ID),用于在索引中唯一标识和检索文档。(类似于关系数据库MySQL中的表的一行数据

  • 类型(Type) :在 Elasticsearch 7.x 及更高版本中,类型的概念已被弃用。在早期版本中,索引可以包含多个类型,用于对不同类型的文档进行分类。然而,从 Elasticsearch 7.x 开始,一个索引只能包含一个默认类型 _doc,类型的概念被逐渐淘汰。(类似于关系数据库MySQL中的表

  • 映射(Mapping):映射定义了索引中的文档结构和字段的数据类型。它告诉 Elasticsearch 如何存储和索引文档中的字段,并决定如何解析和处理查询请求。映射可以手动定义,也可以由 Elasticsearch 根据文档的内容自动创建。(类似于关系数据库MySQL中的表的结构,包括列名、数据类型和约束

  • 查询(Query):查询用于在 Elasticsearch 中搜索和检索文档。Elasticsearch 提供了丰富的查询功能,包括全文搜索、精确匹配、范围查询、聚合等。你可以使用查询语言(如 Query DSL)或简化的查询字符串语法来构建查询。

  • 聚合(Aggregation):聚合是一种用于分析和汇总数据的功能。它允许你根据指定的条件对文档进行分组、计数、求和、平均值、最大值、最小值等操作,并返回聚合结果。聚合可以帮助你洞察数据的统计特征和模式。

  • 集群(Cluster):集群是由一个或多个 Elasticsearch 节点组成的逻辑组。在集群中,数据被分片和复制到多个节点上,以提供高可用性和容错能力。集群管理和协调节点之间的数据分发、负载均衡和故障恢复。

  • 节点(Node):节点是 Elasticsearch 集群中的一个单独的实例,它是集群的一部分。节点可以是主节点(Master Node)或数据节点(Data Node)。主节点负责管理集

  • 分⽚和副本(shard) :副本是分⽚的副本。分⽚有主分⽚(primary Shard)和副本分⽚(replica Shard)之分。
    ⼀个Index数据在物理上被分布在多个主分⽚中,每个主分⽚只存放部分数据。
    每个主分⽚可以有多个副本,叫副本分⽚,是主分⽚的复制。

3.ElasticSearch,RESTful API介绍

Elasticsearch 提供了 RESTful API(Representational State Transfer)作为与其进行交互的主要方式。通过 RESTful API,你可以使用各种 HTTP 方法(如 GET、POST、PUT、DELETE)来执行各种操作,包括索引数据、搜索文档、执行聚合、管理索引等。
以下是一些常用的 Elasticsearch RESTful API:

索引文档:

PUT /index/_doc/id:创建或替换指定 ID 的文档。
POST /index/_doc:创建新的文档,Elasticsearch 自动生成 ID。
GET /index/_doc/id:获取指定 ID 的文档。
DELETE /index/_doc/id:删除指定 ID 的文档。

搜索:

GET /index/_search:执行全文搜索操作,返回匹配查询条件的文档。
POST /index/_search:执行复杂的搜索查询,可以包含过滤器、排序、聚合等。

聚合:

POST /index/_search:结合聚合查询来对文档进行分组、计数、求和、平均值、最大值、最小值等操作。
GET /index/_search:使用 URI 查询字符串语法执行简单的聚合操作。

索引管理:

PUT /index:创建新的索引。
DELETE /index:删除指定索引。
GET /index/_mapping:获取索引的映射信息。

集群和节点管理:

GET /_cat/health:获取集群的健康状态。
GET /_cat/nodes:获取集群中的节点信息。
GET /_cat/indices:获取集群中的索引信息。

以上只是 Elasticsearch RESTful API 的一些示例,实际使用中还有更多的 API 和参数可用于执行各种操作。你可以通过发送 HTTP 请求来与 Elasticsearch 进行交互,使用适当的路径和参数来执行所需的操作,并通过响应获取结果和数据。

要使用 Elasticsearch RESTful API,你可以使用任何支持 HTTP 请求的工具,如 cURL、Postman、Python requests 等。另外,Elasticsearch 还提供了官方的客户端库,可简化与 Elasticsearch 的交互,如 Elasticsearch-PHP、Elasticsearch-Java、Elasticsearch-Py 等。文章来源地址https://www.toymoban.com/news/detail-501314.html

到了这里,关于(三)ElasticSearch核心知识理解(目录结构,索引,RESTful)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ES】Elasticsearch-深入理解索引原理

    索引(Index) ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema)。索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新

    2024年02月04日
    浏览(34)
  • 04_手工画图剖析Elasticsearch核心概念:NRT、索引、分片、副本等

    2.elasticsearch的核心概念 (1)Near Realtime (NRT):近实时, 从写入数据到数据可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级 (2) cluster集群:包括多个节点, 每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的, 对于中小型

    2024年02月09日
    浏览(41)
  • elasticsearch(三)-- 理解ES的索引操作

    上一章我们主要学习了es的几个客户端,那么我们后面也主要通过kibana客户端、HighLevelClient高级客户端这两个来学习es. 这一章的学习我们主要是学习一些Elasticsearch的基础操作,主要是深入一些概念,比如索引的具体操作,映射的相关语法,对数据类型,文档的操作。那么主要

    2024年02月04日
    浏览(35)
  • 深入理解Elasticsearch的索引映射(mapping)

    当我们谈论Elasticsearch时,索引映射是一个核心概念,它定义了如何存储和检索数据。在Elasticsearch 7.6及更高版本中,映射提供了一系列强大的功能,使您能够精确地控制数据的结构和行为。本文将详细介绍映射的关键属性、用途以及如何正确设置和优化它。 在Elasticsearch中,

    2024年02月22日
    浏览(36)
  • ElasticSearch篇——Restful风格详解以及常见的命令,涵盖_cat命令查看ES默认数据、索引和文档的增删改查以及复杂搜索,超详细、超全面、超细节!

    一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要是用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更加简洁,更有层次,更易于实现缓存等机制。 一、基本Rest命令说明 1、命令 对应的就是head可视化界面的下面的信息(换句话

    2024年01月16日
    浏览(29)
  • 从InnoDB索引的数据结构,去理解索引

      该篇我们都是基于 InnoDB 存储引擎的大前提下讨论的,如文中未明确指出存储引擎,一律说的是 InnoDB. 要知道 InnoDB 的索引数据结构主要是 B+Tree . 按照物理实现方式,可以将索引划分为 聚簇索引 和 非聚簇索引 (也称为 二级索引 、 辅助索引 )。     ① 根节点 :B+Tree的最

    2024年02月08日
    浏览(32)
  • 关于对索引底层数据结构的理解

    目录 我们在谈论索引底层的数据结构之前,我们不妨先想一下索引是什么以及索引存在的作用 Hash 二叉搜索树与二叉平衡树 多叉平衡查找树(B树) B+树 索引:是一种特殊的文件,包含着对数据库表中所有记录的引用指针,而其的作用也体现的很明确了,我们通过创建索引来

    2024年02月09日
    浏览(31)
  • Nginx目录结构简介:深入理解Nginx的默认文件和目录

    第一章 Nginx的默认目录结构 当你安装Nginx后,它的默认目录结构如下: 让我们逐个了解这些目录和文件的作用。 第二章 conf目录 conf目录包含了Nginx的配置文件,其中nginx.conf是Nginx主配置文件,它包含了所有全局的Nginx配置项。mime.types文件包含了MIME类型的定义,它告诉Nginx如

    2024年02月13日
    浏览(44)
  • 区块链学习笔记(6(1),深入理解Linux运维的核心知识点

    (3)检查创世块文件 (4)  检查通道文件(fabric2.2及以前会用到) 创建节点的方式有两种: (1)在创建任何节点之前,必须在本机上自定义其配置文件。对于peer节点,该文件称为 core.yaml ,而orderer节点的配置文件称为 orderer.yaml; (2)使用一个docker容器,将docker节点跑在一个

    2024年04月29日
    浏览(36)
  • Mysql性能调优——1.深入理解Mysql索引数据结构和算法

    本系列所说的Mysql性能调优,主要是针对开发者在实际环境中的sql调优,代码层面上的优化。不涉及到mysql底层代码的调优。 我们知道,一个mysql数据表,数据量小的时候,可能简单的查询耗时不会太久,性能也可以接受。但当数据量大的时候,查询速度会很缓慢。这时候我们

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包