<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ElasticSearch on Leanku 的博客</title><link>https://www.leanku.com/tags/elasticsearch/</link><description>Recent content in ElasticSearch on Leanku 的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 19 Jul 2023 20:46:01 +0800</lastBuildDate><atom:link href="https://www.leanku.com/tags/elasticsearch/index.xml" rel="self" type="application/rss+xml"/><item><title>ElasticSearch介绍</title><link>https://www.leanku.com/post/nosql/elasticsearch%E4%BB%8B%E7%BB%8D/</link><pubDate>Wed, 19 Jul 2023 20:46:01 +0800</pubDate><guid>https://www.leanku.com/post/nosql/elasticsearch%E4%BB%8B%E7%BB%8D/</guid><description>&lt;h1 id="elasticsearch"&gt;ElasticSearch&lt;/h1&gt;&#10;&lt;h2 id="一-elasticsearch介绍"&gt;一、 ElasticSearch介绍&lt;/h2&gt;&#10;&lt;p&gt;Elasticsearch 是一个分布式、可扩展、实时的搜索和分析引擎，基于 Apache Lucene 构建。它能够快速存储、搜索和分析大量数据，广泛应用于全文搜索、日志分析、业务指标监控等场景。&lt;/p&gt;&#10;&lt;h3 id="lucene-介绍"&gt;Lucene 介绍&lt;/h3&gt;&#10;&lt;p&gt;Lucene是开源、免费、高性能、纯Java编写的全文检索工具包&lt;/p&gt;&#10;&lt;p&gt;他是一个全文检索的工具包，是一个全文检索框架，并不是一个全文检索引擎&lt;/p&gt;&#10;&lt;p&gt;它非常复杂，并且需要Java集成使用&lt;/p&gt;&#10;&lt;h3 id="lucene-和-elasticsearch"&gt;Lucene 和 ElasticSearch&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ElasticSearch和solr是基于lucene的开源项目&lt;/li&gt;&#10;&lt;li&gt;ElasticSearch通过简单易用的restful api接口，隐藏了lucene的复杂性&lt;/li&gt;&#10;&lt;li&gt;ElasticSearch自带分布式管理，并且可以跨语言使用&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="lucene-和-solr"&gt;Lucene 和 Solr&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ElasticSearch自带分布式管理而Solr需要借助Zookpeeper实现分布式管理&lt;/li&gt;&#10;&lt;li&gt;Solr支持多格式的数据，在传统搜索中表现好于ES,但是它的更新效率比较低&lt;/li&gt;&#10;&lt;li&gt;ElasticSearch只支持json格式的数据，在处理实时索引搜索时明显好于Solr&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="二-核心概念"&gt;二、. 核心概念&lt;/h2&gt;&#10;&lt;h3 id="与关系型数据库的类比"&gt;与关系型数据库的类比&lt;/h3&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;关系型数据库 (MySQL)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Elasticsearch&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Database (数据库)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Index (索引)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Table (表)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Type (类型，已弃用)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Row (行)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Document (文档)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Column (列)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Field (字段)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Schema (模式)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Mapping (映射)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：Elasticsearch 7.x 开始移除了 Type 概念，现在一个索引直接包含文档。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 id="1-文档document"&gt;1. 文档（Document）&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Elasticsearch 中的基本数据单元，类似于关系数据库中的一行记录。&lt;/li&gt;&#10;&lt;li&gt;文档以 JSON 格式存储，包含多个字段。&lt;/li&gt;&#10;&lt;li&gt;示例：&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;{&#10; &amp;#34;id&amp;#34;: 1,&#10; &amp;#34;title&amp;#34;: &amp;#34;Elasticsearch Guide&amp;#34;,&#10; &amp;#34;content&amp;#34;: &amp;#34;Elasticsearch is a distributed search engine.&amp;#34;,&#10; &amp;#34;tags&amp;#34;: [&amp;#34;search&amp;#34;, &amp;#34;distributed&amp;#34;]&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2索引index"&gt;2.索引（Index）&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;索引是文档的集合，类似于关系数据库中的表。&lt;/li&gt;&#10;&lt;li&gt;每个索引有一个唯一的名称，用于标识和操作数据。&lt;/li&gt;&#10;&lt;li&gt;示例：books 索引存储所有书籍相关的文档。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="3类型type已弃用"&gt;3.类型（Type）（已弃用）&lt;/h3&gt;&#10;&lt;p&gt;在早期版本中，索引可以包含多个类型（类似于表结构），但在 Elasticsearch 7.x 及更高版本中已被弃用。&lt;/p&gt;</description></item></channel></rss>