ElasticSearch介绍

ElasticSearch 1. ElasticSearch介绍 Elasticsearch 是一个分布式、可扩展、实时的搜索和分析引擎,基于 Apache Lucene 构建。它能够快速存储、搜索和分析大量数据,广泛应用于全文搜索、日志分析、业务指标监控等场景。 Lucene 介绍 Lucene是开源、免费、高性能、纯Java编写的全文检索工具包 他是一个全文检索的工具包,是一个全文检索框架,并不是一个全文检索引擎 它非常复杂,并且需要Java集成使用 Lucene 和 ElasticSearch ElasticSearch和solr是基于lucene的开源项目 ElasticSearch通过简单易用的restful api接口,隐藏了lucene的复杂性 ElasticSearch自带分布式管理,并且可以跨语言使用 Lucene 和 Solr ElasticSearch自带分布式管理而Solr需要借助Zookpeeper实现分布式管理 Solr支持多格式的数据,在传统搜索中表现好于ES,但是它的更新效率比较低 ElasticSearch只支持json格式的数据,在处理实时索引搜索时明显好于Solr 2. 核心概念 1. 文档(Document) Elasticsearch 中的基本数据单元,类似于关系数据库中的一行记录。 文档以 JSON 格式存储,包含多个字段。 示例: { "id": 1, "title": "Elasticsearch Guide", "content": "Elasticsearch is a distributed search engine.", "tags": ["search", "distributed"] } 2.索引(Index) 索引是文档的集合,类似于关系数据库中的表。 每个索引有一个唯一的名称,用于标识和操作数据。 示例:books 索引存储所有书籍相关的文档。 3.类型(Type)(已弃用) 在早期版本中,索引可以包含多个类型(类似于表结构),但在 Elasticsearch 7.x 及更高版本中已被弃用。 4.分片(Shard) 索引可以被分成多个分片,每个分片是一个独立的 Lucene 索引。 分片允许数据水平拆分,支持分布式存储和并行处理。 分片分为主分片(Primary Shard)和副本分片(Replica Shard)。 5....

July 19, 2023 · 2 min · Leanku