一、ElasticSearch 入门概念

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

    ElasticSearch是一个开源的分布式、高度可扩展的搜索引擎,简单可以理解为类似百度、Google这样的搜索引擎产品。 它能够快速、近乎实时的存储、搜索和分析大量数据。

一、Elasticsearch适应于哪些场景

  • 电商搜索引擎: 许多电商平台使用Elasticsearch作为其搜索引擎,以提供实时、高性能的商品搜索和过滤功能。用户可以通过关键字搜索、过滤条件等快速找到所需的商品。

  • 日志和指标分析: Elasticsearch在处理大规模日志和指标数据方面表现出色。许多组织使用它来存储、搜索和分析应用程序生成的日志,以便监控系统健康、进行故障排除和实现安全分析。

  • 全文搜索和内容管理: 新闻网站、博客平台和内容管理系统使用Elasticsearch来提供全文搜索功能。它能够支持复杂的搜索查询,帮助用户轻松找到所需的文章或内容。

  • 地理空间数据分析: 地理信息系统(GIS)和位置数据分析是Elasticsearch的另一个常见应用。它能够索引和搜索地理坐标,并支持地理空间查询,用于地图应用、位置分析和地理数据可视化。

  • 企业级搜索和知识管理: 在企业内部,Elasticsearch被用于构建内部搜索引擎,帮助员工快速查找企业内的文档、数据和知识库。这有助于提高员工的工作效率和信息获取速度。

  • 安全信息与事件管理(SIEM): 安全行业使用Elasticsearch来构建SIEM系统,用于收集、分析和可视化网络安全事件。这有助于及时检测和应对潜在的安全威胁。

  • 医疗信息系统: 在医疗领域,Elasticsearch被用于构建医疗信息系统,以实现对患者记录、医学文献和研究数据的高效搜索和分析。

二、Elastichsearch处理数据能力

 ES有非常强大的数据处理能力。处理数据可以达到TB及PB级。 2013年初GitHub抛弃了Solr,采取ElasticSearch来做搜索,使用ElasticSearch完成对20TB的数据搜索,包括13亿文件和1300 亿行代码。 ES是一个分布式搜索引擎,单集群节点可以扩展到几百到上千个,单个节点堆内存支持设置到30G(太大也会影响检索效率)。经过大厂的验证ES完全能满足大部分业务场景下的海量数据需求。

三、ES官方地址

大家下载最好去官网下载,避免出现安全问题,下面给出了官网下载地址和文档地址

7.10版本文档地址:What is Elasticsearch? | Elasticsearch Guide [7.10] | Elastic

ES及Kibana下载地址:Past Releases of Elastic Stack Software | Elastic

ES源码地址: https://github.com/elastic/elasticsearch

四、与关系型数据库对比概念上的区别

类型

MySql

ElasticSearch

ES与关系型数据库对比概念上的差异

逻辑隔离方式

Database

/

关系型数据库中可以在一个数据库实例中创建多个数据库,数据库之间互相隔离,不同库中的表可以重复,每个库可以单独设置账号权限。

在ES7++版本中没有与之对应的一层,所有的索引数据都在同一个ES实例下管理,一个索引在当前ES实例下唯一。

数据集合

Table

Index

一个数据库中可以有多个表,每个表是一类数据的集合,例如电商场景中商品表、订单表。在一个ES集群实例中也可以创建多个索引,每个索引是一类数据的集合,例如商品索引、订单索引。

关系型数据库中的每个字段需要提前创建好,在ES中支持存储数据时自动添加新字段到索引中。

数据记录

Row

Document

关系型数据库表中的每条数据一般称为行。

ES索引中的每条数据称为文档,查出来的数据为Json格式。

字段

Column

Field

关系型数据库表中的每个字段称为列,在ES中称为字段。不过日常交流数据库表中的列有时候也会说成字段。

结构定义

Schema

Mapping

关系型数据库描述一个表的结构一般会称为Schema或建表语句,格式为标准的DDL语句。在ES描述一个索引结构称为Mapping, 是一个JSON格式,Mapping中定义了该索引有多少个字段,每个字段的数据类型及索引类型、分词方式等。

索引方式

Index

Every Field is Index

关系型数据库中的索引需要明确指定,例如主键索引、唯一索引等,在ES中所有的字段默认都是索引字段。

查询语言

SQL

ES DSL / SQL

关系型数据库中使用标准的SQL语言进行增删改查,ES中有自己的查询语言,同时也支持使用SQL。

以下是创建一个名为Student的ES索引语法示例

 与数据库建表语句差异还是比较大的,但整体概念是比较类似

一、ElasticSearch 入门概念,ElasticSearch从入门到精通,中间件技术,elasticsearch,大数据,搜索引擎,系统架构,中间件

五、ES中的分片与副本

  在关系型数据库中,进行分库分表操作成本比较高,且对研发人员要求技能较高。相比之下,Elasticsearch的门槛就比较低。ES天生为分布式搜索引擎设计,内置了集群搭建和分片设置策略,使得在ES中进行分布式操作更为轻松。

为了能够让Elasticsearch能提供更高的检索效率,需理解两个关键概念:分片(Shard)和副本(Replica)。它们对于集群的性能、可用性和扩展性至关重要。

  • 分片(Shard):
    • 定义: 分片是将索引数据拆分为更小的部分,每个部分就是一个分片。一个索引可以设置N个分片,也可以称为主分片。
    • 作用: 分片有助于实现横向扩展,使得索引的数据能够分布在集群的不同节点上,从而提高查询和写入的性能。主分片是原始的数据分片,负责处理所有写入和查询操作。主分片的数量在索引创建时定义,一旦创建后就不能更改。
  • 副本(Replica):
    • 定义: 每个主分片都可以有零个或多个副本。副本是主分片的Copy,用于提高系统的可用性和容错性。每个副本都是一个独立的分片,与主分片数据相同。
    • 作用: 副本分布在集群的不同节点上,确保即使某个主分片所在的节点发生故障,仍然可以从其它节点获取相同的数据。 ES会尽量让主分片与副本数据落在不同节点上,但基于集群实例数据及分片策略也有可能会落在同一个节点上。
    • 数量: 副本的数量在索引创建后是可以动态调整的。增加副本的数量可以提高系统的容错性和读取性能,但也会占用更多的存储空间。

在索引创建时,通过设置主分片数量和副本数量,可以定义数据在集群中的分布和复制策略。例如,一个索引可以有5个主分片和1个副本,这意味着总共有10个分片(5个主分片 + 5个副本),并且每个主分片都有一个副本。这样的设置可以使得索引数据分布在5个节点上,同时每个节点都有该索引的完整副本。

一、ElasticSearch 入门概念,ElasticSearch从入门到精通,中间件技术,elasticsearch,大数据,搜索引擎,系统架构,中间件

六、ElasticSearch优点

除了全文检索高效查找外还有以下一些优点

  1. 分布式和横向扩展: Elasticsearch被设计为分布式系统,可以在多个节点上运行。通过添加更多的节点,集群可以横向扩展以处理大规模数据和高并发请求。相比关系型数据库来说,这块优势非常大。

  2. 高性能: Elasticsearch使用倒排索引等技术,使其在搜索和分析大数据集时表现出色。它能够快速地定位和检索文档,提供低延迟的查询结果。

  3. 多功能性: Elasticsearch不仅仅是一个搜索引擎,还支持聚合、过滤、地理空间搜索等高级功能。它可以用于构建复杂的分析和数据挖掘应用。

  4. 灵活的数据模型: Elasticsearch的数据模型是面向文档的,采用JSON格式。这意味着你可以存储各种形式的数据,而且可以动态映射字段,不需要预定义表结构。

  5. 易用性: Elasticsearch提供RESTful API,与多种编程语言兼容,这使得它易于集成到各种应用中。此外,它还有直观的Web界面(Kibana)用于监控和管理集群。文章来源地址https://www.toymoban.com/news/detail-821067.html

到了这里,关于一、ElasticSearch 入门概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 物联网网络中间件的基本概念

    使用java语言且基于netty, spring boot, redis等开源项目开发来的物联网网络中间件, 支持udp, tcp通讯等底层协议和http, mqtt, websocket(默认实现和自定义协议头实现), modbus(tcp,rtu),plc,dtu(支持心跳,设备注册功能以及AT协议和自定义协议支持),dtu for modbus tcp,dtu for modbus rtu组件适配 等

    2024年02月16日
    浏览(32)
  • 【开发】中间件——ElasticSearch

    ElasticSearch是一个基于Lucene的搜索服务器。提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口 ElasticSearch是一个基于Lucene的搜索服务器。提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口 ElasticSearch是用JAVA开发的。达到实时搜索,稳定可靠,快速,

    2024年02月17日
    浏览(44)
  • 【缓存中间件】Redis哈希槽的概念

    分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集。。 需要重点关注的是数据分区规则。常见的分区规则有哈希分区和顺序分区两种,哈希分区离散度好、数据分布业务无关、无法顺

    2024年02月13日
    浏览(33)
  • ES(Elasticsearch)中间件

    文章目录 配置连接ES 全文搜索引擎 全文搜索引擎就是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。 官网地址: 链接:

    2024年02月11日
    浏览(37)
  • Java中间件-Elasticsearch

    Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个 IT 公司。Elasticsearch 是由 Elastic 公司创建。它的代码位于 GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine。目前,Elasticsearch 是一个免费及开放(free and open)的项目。同时,Elastic 公司也拥有

    2023年04月27日
    浏览(36)
  • .Net Core核心概念——依赖注入和中间件

    1. 为什么要用依赖注入(DI) 什么是依赖注入,为什么要使用呢?简单通俗说就是一个类需要另一个类来协助工作,就产生了依赖,所以需要的依赖项就要【注入】过来一起来协同完成工作。 软件设计原则中有一个依赖倒置原则(DIP)讲的是要依赖于抽象,不要依赖于具体,高层

    2024年02月08日
    浏览(32)
  • 中间件: ElasticSearch的安装与部署

    文档地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 创建用户: 系统参数配置: 方式一:YUM安装 方式二: 配置 启动 (1)修改配置elasticsearch.yml: cluster.name # 一个集群内cluster name 需要相同 node.name # 各个节点node name 唯一 discovery.seed_hosts # network.host node.mast

    2024年02月12日
    浏览(32)
  • 关于中间件技术

        中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。     软件中间件的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户开发和集

    2024年02月06日
    浏览(30)
  • mysql代理、中间件技术

    名词 DB proxy 数据库中间件 功能 读写分离:读写分离导致处理速度迅速,一般情况下是主服务器进行写操作而从服务器进行读操作 负载均衡 支持数据的分片自动路由和聚合 本文主要围绕Mycat实现、且在完成MM-SS集群的条件下 1.配置五台虚拟机的域名解析(在之前完成的集群技

    2024年02月12日
    浏览(29)
  • 精通中间件测试:Asp.Net Core实战指南,提升应用稳定性和可靠性

    在上一章节我们实战了在 Asp.Net Core 中的项目实战,这一章节讲解一下如何测试 Asp.Net Core 的中间件。 还记得我们在集成测试中提供的 TestServer 吗? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。包含了用于在测试环境中模拟 ASP.NET Core 应用程序的类和方法。通过使用 TestSe

    2024年04月22日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包