首页 > 其他分享 >Elasticsearch

Elasticsearch

时间:2024-10-15 20:24:24浏览次数:7  
标签:存储 索引 文档 MySQL Elasticsearch 数据

什么是Elasticsearch

Elasticsearch 是一个基于 Apache Lucene 的分布式搜索和分析引擎。它提供了一个功能强大、实时的数据存储、检索和分析的平台,尤其适合处理结构化和非结构化数据。它在大数据处理、全文搜索****、实时日志分析、监控等场景下应用广泛。

核心概念

  1. 索引(Index):相当于关系型数据库中的数据库。它是数据存储的地方,包含多个文档。
  2. 文档(Document):相当于关系型数据库中的行,是最小的数据单元,以 JSON 格式存储。
  3. 类型(Type):在 Elasticsearch 7.x 版本中已经被废弃,之前用于区分同一个索引中的不同文档类型。
  4. 分片(Shard)和副本(Replica):为了实现数据的分布式存储和高可用性,Elasticsearch 把索引分成多个分片(Shard),并且可以为每个分片创建副本(Replica)。

优点

  • 全文检索:基于倒排索引的数据结构,可以快速地搜索文本数据。
  • 分布式架构:数据自动分片,可以水平扩展,适用于大数据处理。
  • 高可用性:通过副本机制保证数据的冗余存储,提高容灾能力。
  • RESTful API:使用 JSON 格式的数据进行交互,易于与各种编程语言集成。

常见应用场景

  • 日志分析:与 Logstash 和 Kibana(一起称为 ELK Stack)搭配使用,实现实时日志收集、分析和可视化。
  • 全文搜索引擎:例如电子商务网站的商品搜索,社交平台的内容搜索。
  • 数据监控:可以用来监控服务器性能数据、应用程序日志等。

什么是倒排索引

1.先把文档内容进行分词,形成词条与文档ID的对应关系,叫做词条库,词条具备唯一性,建立索引。

2.对搜索内容进行分词,把分词后得到一个关键词列表,根据关键词去词条库种匹配,在找到对应的文档ID列表。

3.然后根据文档ID列表,找到对应的文档信息。

ES相关概念对比MySQL

MySQL Elasticsearch 说明
Table(表) Index(索引) 索引(Index)是文档的集合,类似于 MySQL 中的表(Table)。每个索引用于存储一组相似的数据类型。
Row(行) Document(文档) 文档(Document)就是 Elasticsearch 中的数据单元,类似于 MySQL 中的行(Row),文档使用 JSON 格式存储。
Column(列) Field(字段) 字段(Field)是文档中的一个属性,类似于 MySQL 表中的列(Column)。每个字段都有类型和数据。
Schema(模式) Mapping(映射) Mapping(映射)定义了索引中文档的结构和字段类型,类似于 MySQL 中表的结构(Schema)。
SQL(结构化查询语言) DSL(查询 DSL) DSL 是 Elasticsearch 提供的 JSON 格式的查询语言,用于进行数据的增删改查(CRUD)操作,功能类似于 MySQL 中的 SQL。

标签:存储,索引,文档,MySQL,Elasticsearch,数据
From: https://www.cnblogs.com/freps/p/18468352

相关文章

  • Elasticsearch正向索引与倒排索引
    Elasticsearch正向索引与倒排索引一、正向索引首先,要明白什么是正向索引,所谓正向索引,就是在查找某项数据时,按照id一条一条查找,如果当前数据中包含所需数据,则将当前数据取出,不包含则抛弃,直至全部遍历结束。例如:当我们按照正向索引去寻找包含小米三星苹果的数据时,会从头遍历一遍,......
  • Elasticsearch相关概念对比MySQL
    MySQLElasticsearch说明TableIndex索引(index),就是文档的集合,类似数据库的表(table)RowDocument文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式ColumnField字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)SchemaMappingMappi......
  • Elasticsearch相关概念对比MySQL
    Elasticsearch和MySQL是两种不同的数据管理系统,各自有其独特的概念和应用场景。以下是它们在几个关键概念上的对比:o数据模型Elasticsearch:。文档(Document):基本的数据单元,存储为JSON格式。。索引(Index):类似于数据库,包含多个文档。。类型(Type):在7.x版本后已被弃用,之前用于逻......
  • 【Elasticsearch系列】Elasticsearch启动失败问题
    ......
  • Elasticsearch 基础入门
    查询集群文档数量查询集群文档数量curl-XGET-k-uelastic:passwd-H'Content-Type:application/json''https://localhost:9200/_count?pretty'curl-i显示响应头信息curl-XGET-i-k-uelastic:passwd-H'Content-Type:application/json''https:......
  • Elasticsearch 安装
    Elasticsearch权威指南启动dockerubuntudockerrun-it-d-p22:22--nameubuntu_devubuntudockerexec-itubuntu_devbash安装工具aptupdateaptinstall-ycurlvimsudoadduseropenssh-server重置ubuntu用户密码passwdubuntu切换ubuntu用户(ES不能......
  • SpringBoot2.x 版本集成elasticsearch 8.x
    之前使用的elasticsearch7.14.2,Springboot版本是2.4.13(这个版本坑比较多,用的人也比较少,找问题真的很痛苦)。 es中间件升级到8.13.3之后,之前的代码在使用保存和编辑之后,es数据里面是都操作成功,但是代码接口却会报错。atjava.util.Objects.requireNonNull(Objects.jav......
  • SpringBoot2.x 版本集成elasticsearch 8.x(基于elasticsearch-java)
    上次elasticsearch到8.13.3之后,由于springboot版本2.4.13,jdk版本是11,使用springboot内置的ElasticsearchRestTemplate查询的时候做了兼容性之后虽然代码没有报错了,但是每次查询都会有一个警告[WRAN],如果查询比较频繁的时候日志里面看到的全都是这种警告信息:[ignore_throttle......
  • Elasticsearch安装学习
    前言:ElasticSearch官网:http://www.elasticsearch.org/先上一张elasticsearch的总体框架图:ElasticSearch是基于Lucene开发的分布式搜索框架,包含如下特性:分布式索引、搜索索引自动分片、负载均衡自动发现机器、组建集群支持Restful风格接口配置简单等。Elasticse......
  • ElasticSearch快速入门
    目录快速入门快速了解与MySQL对比相关组件,概念增删改查快速入门快速了解一、Elasticsearch官方定义Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,同时是可扩展的数据存储和矢量数据库,能够应对日益增多的各种用例。作为ElasticStack的核心,Ela......