Lucene和ElasticSearch关系

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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想对来说开发维护者少,更新太快

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 JSON Java
ElasticSearch前世今生lucene
ElasticSearch前世今生lucene
65 0
|
3月前
|
存储 搜索推荐 API
探究:Elasticsearch 文档的 _id 是 Lucene 的 docid 吗?
【8月更文挑战第31天】在深入探索Elasticsearch(简称ES)这一强大的搜索引擎时,了解其底层存储机制——特别是与Lucene的关系,对于优化查询性能、设计高效的数据模型至关重要。其中,一个常见且容易引发误解的问题便是:Elasticsearch中文档的_id字段是否直接等同于Lucene的docid?本文将通过图文并茂的方式,详细剖析这一问题,帮助读者理解两者之间的微妙关系。
83 0
|
6月前
|
存储 机器学习/深度学习 关系型数据库
为什么Elasticsearch/Lucene检索可以比MySQL快?
为什么Elasticsearch/Lucene检索可以比MySQL快?
131 2
|
存储 自然语言处理 JavaScript
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(上)
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(上)
138 1
|
自然语言处理 Java 索引
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
84 0
【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用(下)
|
算法 Java
白话Elasticsearch24- 深度探秘搜索技术之TF&IDF算法/向量空间模型算法/lucene的相关度分数算法
白话Elasticsearch24- 深度探秘搜索技术之TF&IDF算法/向量空间模型算法/lucene的相关度分数算法
95 0
|
存储 自然语言处理 搜索推荐
Elasticsearch 学习笔记(一)-----Lucene的简介以及索引原理
今天,正式开始学习Elasticsearch,因为Elasticsearch是用Lucene来实现索引的查询功能的,所以,理解Lucene的原理显的尤为重要。
578 0
Elasticsearch 学习笔记(一)-----Lucene的简介以及索引原理
|
存储 搜索推荐 Java
全文搜索引擎 Lucene Solr ElasticSearch 关系?
全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
全文搜索引擎 Lucene Solr ElasticSearch 关系?
|
存储 自然语言处理 Java
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
602 0
Luke:用于Lucene / Solr / Elasticsearch索引的GUI工具
|
11天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
28 5