Lucene和ElasticSearch关系

简介: Lucene和ElasticSearch关系

什么是ElasticSearch?

ElasticSearch简称ES,它是一个开源的高扩展的分布式全文搜索引擎.它比solr使用起来更方便

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。


建议在大数据量的时候使用ElasticSearch!


Lucene和ElasticSearch关系

Lucene是ElasticSearch的核心

Elastic是基于Lucene做了一些封装和增强使得我们上手非常简单

  1. Solr和ElasticSearch的对比与选型

对比

Solr对外提供类似Web-Service的API接口

ElasticSearch是通过简单的Restful API来隐藏Lucence的复杂性,让全文检索变得更简单

选型

当单纯的对已有数据进行搜索时,Solr更快

  当建立索引的时候,Solr 回产生IO阻塞,查询性能较差,ElasticSearch具有明显的优势

随着数据量的增加(大数据量),Solr的搜索效率会变得更低,但是ElasticSearch却没有明显的变化

总结

1 ElasticSearch是开箱即用,非常简单Solr安装稍微复杂一些

2 Solr利用Zookeeper进行分不是管理,而ElasticSearch自带分布式协调管理功能

3 Solr支持更多格式的数据,比如JSON,XML,CSV,而ElasticSearch只支持JSON文件格式

  4 Sorl查询快,但是更新索引时慢(插入删除慢),用于电商等查询多的应用,ElasticSearch建立索引快,也就是查询快,用于facebook新浪等搜索

  5 Solr 官方提供的功能更多,而ElasticSearch本身更注重于核心功能,高级功能可以使用第三方插件提供,例如图形化界面需要kibana支持

  6 Solr是传统搜索应用的有力解决方案,但是ElasticSearch更适用于新时代的搜索应用

7 Solr比较成熟,有一个更大,更成熟多用户,开发和贡献者,但是ElasticSearch想对来说开发维护者少,更新太快

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 JSON Java
ElasticSearch前世今生lucene
ElasticSearch前世今生lucene
116 0
|
存储 搜索推荐 API
探究:Elasticsearch 文档的 _id 是 Lucene 的 docid 吗?
【8月更文挑战第31天】在深入探索Elasticsearch(简称ES)这一强大的搜索引擎时,了解其底层存储机制——特别是与Lucene的关系,对于优化查询性能、设计高效的数据模型至关重要。其中,一个常见且容易引发误解的问题便是:Elasticsearch中文档的_id字段是否直接等同于Lucene的docid?本文将通过图文并茂的方式,详细剖析这一问题,帮助读者理解两者之间的微妙关系。
396 0
|
存储 机器学习/深度学习 关系型数据库
为什么Elasticsearch/Lucene检索可以比MySQL快?
为什么Elasticsearch/Lucene检索可以比MySQL快?
278 2
|
存储 自然语言处理 JavaScript
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(上)
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(上)
348 1
|
自然语言处理 Java 索引
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
198 0
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
|
存储 自然语言处理 搜索推荐
Elasticsearch 学习笔记(一)-----Lucene的简介以及索引原理
今天,正式开始学习Elasticsearch,因为Elasticsearch是用Lucene来实现索引的查询功能的,所以,理解Lucene的原理显的尤为重要。
1139 0
Elasticsearch 学习笔记(一)-----Lucene的简介以及索引原理
|
算法 Java
白话Elasticsearch24- 深度探秘搜索技术之TF&IDF算法/向量空间模型算法/lucene的相关度分数算法
白话Elasticsearch24- 深度探秘搜索技术之TF&IDF算法/向量空间模型算法/lucene的相关度分数算法
218 0
|
存储 搜索推荐 Java
全文搜索引擎 Lucene Solr ElasticSearch 关系?
全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
全文搜索引擎 Lucene Solr ElasticSearch 关系?
|
存储 自然语言处理 Java
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
|
8月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
1489 64