栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ElasticSearch入门学习笔记(一)概念篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch入门学习笔记(一)概念篇

笔记记录 B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq.

一、ElasticSearch是什么?

官网:https://www.elastic.co/cn/downloads/elasticsearch

Elaticsearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。
Elaticsearch也使用java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

1.1Lucene和ElasticSearch的关系?

Lucene是一个apache软件基金会旗下的全文检索引擎的架构,提供了完整的查询引擎和检索引擎。
ElasticSearch是基于Lucene 做了一下封装和增强。

1.2Elasticsearch和Solr的区别?
ElasticsearchSolr
安装方式开箱即用复杂
底层管理自身带有分布式协调管理功能Zookeeper进行分布式管理
支持格式jsonJSON、XML、 CSV
支持功能重于核心功能,提供插件提供的功能更多
查询效率建立索引快(即实时性查询快)查询快,但更新索引时慢(即插入删除慢)
学习成本开发维护者较少,更新快,学习使用成本高。有更大、更成熟的用户、开发和贡献者社区

(1)当单纯的对已有数据进行搜索时,Solr更快;
(2)当实时建立索引时,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势

二、ElasticSearch核心概念

ElasticSearch是面向文档,关系型数据库和ElasticSearch客观对比

DBElasticSearch
数据库(database)索引(indices)
表(tables)types <慢慢会被弃用!>
行(rows)documents
字段(columns)fields

ElasticSearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)

2.1物理设计:

elasticsearch在后台把每个索引划分成多个分片,每分分片可以在集群中的不同服务器间迁移

一个人就是一个集群! ,即启动的ElasticSearch服务,默认就是一个集群,且默认集群名为elasticsearch

2.2物理设计:节点和分片 如何工作

1、创建新索引

一个集群至少有一个节点,而一个节点就是一个elasticsearch进程,节点可以有多个索引默认的,如果你创建索引,那么索引就会有5个分片,每一个主分片会有一个副本。

上图是一个有3个节点的集群,可以看到主分片和对应的复制分片都不会在同一个节点内,这样有利于某个节点挂掉了,数据也不至于丢失;
一个分片是一个Lucene索引(一个ElasticSearch索引包含多个Lucene索引),一个包含倒排索引的文件目录,倒排索引的结构使得elasticsearch在不扫描全部文档的情况下,就能告诉你哪些文档包含特定的关键字。

2.3倒排索引(Lucene索引底层)

按(文章关键字)形式建立索引,根据关键字就可直接查询对应的文档(含关键字),无需查询每一个文档

例如:现在有两个文档个,包含内容如下:
Study every day,good good up to forever #文档1包含的内容
To forever ,study every day ,good good up #文档2包含的内容
termdoc_1doc_2
Study×
every××
day
good×
to
up×
forever

如果你搜索day up,根据上表发现doc_1的权重高

ElasticSearch入门学习笔记(二)软件安装篇

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582377.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号