【Elasticsearch】Elasticsearch 从入门到精通(一):基本介绍

这篇具有很好参考价值的文章主要介绍了【Elasticsearch】Elasticsearch 从入门到精通(一):基本介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Elasticsearch 从入门到精通》共包含以下 2 2 2 篇文章:

  • Elasticsearch 从入门到精通(一):基本介绍
  • Elasticsearch 从入门到精通(二):基础使用

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

【Elasticsearch】Elasticsearch 从入门到精通(一):基本介绍,# Elasticsearch,elasticsearch,大数据,搜索引擎

1.Elasticsearch

Elasticsearch 是一个基于 Apache Lucene 的 开源搜索引擎。无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

特点:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎 —— 做不规则查询
  • 可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据

Elasticsearch 也使用 Java 开发,并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。

ES 能做什么?

  • 全文检索(全部字段)
  • 模糊查询(搜索)
  • 数据分析(提供分析语法,例如聚合)

2.Elasticsearch 使用案例

  • 2013 年初,GitHub 抛弃了 Solr,采取 Elasticsearch 来做 PB 级的搜索。“GitHub 使用 Elasticsearch 搜索 20TB 的数据,包括 13 亿文件和 1300 亿行代码”。
  • 维基百科:启动以 Elasticsearch 为基础的核心搜索架构。
  • 百度:百度目前广泛使用 Elasticsearch 作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部 20 多个业务线(包括 casio、云分析、网盟、预测、文库、直达号、钱包、风控等),单集群最大 100 台机。
  • 新浪 使用 ES 分析处理 32 亿条实时日志。
  • 阿里 使用 ES 构建挖财自己的日志采集和分析体系。

3.Elasticsearch 对比 Solr

  • Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。
  • Solr 支持更多格式的数据,而 Elasticsearch 仅支持 json 文件格式。
  • Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供。
  • Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。

4.Elasticsearch 基本概念及架构

4.1 Elasticsearch 基本概念

4.1.1 索引 index

  • 一个 索引 就是一个拥有几分相似特征的文档的集合。比如说,可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。
  • 一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。
  • 在一个集群中,可以定义任意多的索引。

4.1.2 映射 mapping

  • Elasticsearch 中的 映射(Mapping)用来定义一个文档。
  • Mapping 是处理数据的方式和规则方面做一些限制,如某个字段的数据类型、默认值、分析器、是否被索引等等,这些都是映射里面可以设置的。

4.1.3 字段 Field

  • 相当于是数据表的 字段,对文档数据根据不同属性进行的分类标识。

4.1.4 类型 Type

  • 每一个字段都应该有一个对应的 类型,例如:Text、Keyword、Byte 等。

4.1.5 文档 document

一个 文档 是一个可被索引的基础信息单元。比如,可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以 JSON(Javascript Object Notation)格式来表示,而 JSON 是一个到处存在的互联网数据交互格式。

4.1.6 集群 cluster

  • 一个 集群 就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。
  • 一个集群由一个唯一的名字标识,这个名字默认就是 elasticsearch
  • 这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。

4.1.7 节点 node

  • 一个 节点 是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。
  • 一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做 elasticsearch 的集群中。
  • 这意味着,如果在网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做 elasticsearch 的集群中。
  • 在一个集群里,可以拥有任意多个节点。而且,如果当前网络中没有运行任何 Elasticsearch 节点,这时启动一个节点,会默认创建并加入一个叫做 elasticsearch 的集群。

4.1.8 分片和副本 shards & replicas

4.1.8.1 分片
  • 一个索引可以存储超出单个结点硬件限制的大量数据。比如,一个具有 10 亿文档的索引占据 1TB 的磁盘空间,而任一节点都没有这样大的磁盘空间;或者单个节点处理搜索请求,响应太慢。
  • 为了解决这个问题,Elasticsearch 提供了将索引划分成多份的能力,这些份就叫做分片。
  • 当创建一个索引的时候,可以指定你想要的分片的数量。
  • 每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。
  • 分片很重要,主要有两方面的原因:
    • 允许水平分割 / 扩展你的内容容量。
    • 允许在分片之上进行分布式的、并行的操作,进而提高性能 / 吞吐量。
  • 至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由 Elasticsearch 管理的,对于作为用户来说,这些都是透明的。
4.1.8.2 副本
  • 在一个网络 / 云的环境里,失败随时都可能发生,在某个分片 / 节点不知怎么的就处于离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的,Elasticsearch 允许你创建分片的一份或多份拷贝,这些拷贝叫做副本分片,或者直接叫副本。
  • 副本之所以重要,有两个主要原因:
    • 在分片 / 节点失败的情况下,提供了高可用性。注意到复制分片从不与原 / 主要(original / primary)分片置于同一节点上是非常重要的。
    • 扩展搜索量 / 吞吐量,因为搜索可以在所有的副本上并行运行。
  • 每个索引可以被分成多个分片。一个索引有 0 个或者多个副本。
  • 一旦设置了副本,每个索引就有了主分片和副本分片,分片和副本的数量可以在索引创建的时候指定。
  • 在索引创建之后,可以在任何时候动态地改变副本的数量,但是不能改变分片的数量。

4.2 Elasticsearch 基本架构

【Elasticsearch】Elasticsearch 从入门到精通(一):基本介绍,# Elasticsearch,elasticsearch,大数据,搜索引擎文章来源地址https://www.toymoban.com/news/detail-856223.html

  • Gateway 是 ES 用来存储索引的文件系统,支持多种类型。
  • Gateway 的上层是一个分布式的 Lucene 框架
  • Lucene 之上是 ES 的模块,包括:索引模块搜索模块映射解析模块 等。
  • ES 模块之上是 Discovery、Scripting 和第三方插件。
    • Discovery 是 ES 的节点发现模块,不同机器上的 ES 节点要组成集群需要进行消息通信,集群内部需要选举 master 节点,这些工作都是由 Discovery 模块完成。支持多种发现机制,如 Zen 、EC2、gce、Azure。
    • Scripting 用来支持在查询语句中插入 Javascript、Python 等脚本语言,Scripting 模块负责解析这些脚本,使用脚本语句性能稍低。ES 也支持多种第三方插件。
  • 再上层是 ES 的 传输模块JMX。传输模块支持多种传输协议,如 Thrift、Memecached、HTTP,默认使用 HTTP。JMX 是 Java 的管理框架,用来管理 ES 应用。
  • 最上层是 ES 提供给用户的 接口,可以通过 RESTful 接口和 ES 集群进行交互。

到了这里,关于【Elasticsearch】Elasticsearch 从入门到精通(一):基本介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ElasticSearch从入门到精通:Logstash妙用

    hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友: 我是Jackpop,我们交个朋友吧! 在本系列文章的第3部分关于实时流处理的文章中,我们学习了如何使用ElasticSearch的批量API以及利

    2024年02月08日
    浏览(44)
  • Elasticsearch 7.8.0从入门到精通

    官网:Elasticsearch 7.8.0 | Elastic 大家下载所需要的安装包即可。然后解压缩: Elasticsearch是通过java编写的,所以自带jdk。多好,下载Elasticsearch赠送jdk  0.0,不过一般我们用自己的jdk。 要启动Elasticsearch服务,就直接进入bin目录,并打开elasticsearch.bat文件。 这样就启动好了。 注意

    2024年02月02日
    浏览(75)
  • Elasticsearch从入门到精通-05ES匹配查询

    👏作者简介:大家好,我是程序员行走的鱼 📖 本篇主要介绍和大家一块学习一下ES各种场景下的匹配查询,有助于我们在项目中进行综合使用 创建索引并指定ik分词器: 添加数据: 需要搜索的document中的remark字段包含java和developer词组 上述语法中,如果将operator的值改为or。则与

    2024年03月27日
    浏览(88)
  • Elasticsearch的基本介绍

    Elasticsearch 是一个 分布式、RESTful 风格 的搜索和数据分析引擎,其在 DB-Engines “兵器”排行榜中长期位列第一 DB-Engines Ranking - popularity ranking of search engines  除了搜索领域外,Elasticsearch 与 Kibana、Logstash 组成的 ELK 系统还可以应用到日志采集、分析、监控等领域。其中: Logst

    2023年04月18日
    浏览(61)
  • Java ElasticSearch-Linux面试题,快速从入门到精通

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Linux运维全套学习资料》,

    2024年04月25日
    浏览(37)
  • ElasticSearch的介绍、安装、基本概念

            ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠

    2024年02月15日
    浏览(56)
  • 60、Flink CDC 入门介绍及Streaming ELT示例(同步Mysql数据库数据到Elasticsearch)-CDC Connector介绍及示例 (1)

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月19日
    浏览(51)
  • ElasticSearch第一章(入门介绍)

    ElasticSearch(弹性搜索),简称ES。 ES是一个分布式,RESTFul风格的搜索和数据分析引擎 ,能够解决不断涌现出的各种用例。作为 Elastic Stack(Elastic技术栈简称ELK) 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。 我

    2024年02月22日
    浏览(43)
  • Elasticsearch入门介绍

    目录 1.1ElasticSearch的使用案例 1.2 ElasticSearch与solr的对比 2.1 安装 2.2修改配置文件 2.3 启动 2.4 安装图形化插件 3.ES相关概念 3.1 概述(重要) 3.2 核心概念 1)index索引- 2)type类型 3)Filed字段 4)映射mapping 5)document文档 6)集群cluster 7)节点node 8)分片和复制 shardsreplicas 4.Elastic

    2024年02月10日
    浏览(36)
  • ElasticSearch入门介绍和实战

    目录 1.ElasticSearch简介 1.1 ElasticSearch(简称ES) 1.2 ElasticSearch与Lucene的关系 1.3 哪些公司在使用Elasticsearch 1.4 ES vs Solr比较 1.4.1 ES vs Solr 检索速度 2.  Lucene全文检索框架 2.1  什么是全文检索 2.2 分词原理之倒排索引 3.  Elasticsearch中的核心概念 3.1  索引 index 3.2  映射 mapping 3.3  字

    2024年02月03日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包