Lucene和ES的区别
定义:
-
Lucene是一个
java信息检索程序库
。您可以将其包含在项目中,并使用函数调用来参考其功能。Lucene 是apache软件基金会一个开放源代码的
全文检索引擎工具包
,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎
(搜索引擎和检索程序库不完全等同)。 -
Elasticsearch是
基于JSON
的,分布式
的,基于Lucene的Web服务
。
关系:
- Elasticsearch基于Lucene构建,Elasticsearch利用Lucene做实际的工作
- ELasticsearch中的每个分片都是一个分离的Lucene实例.
- Elasticsearch在Lucene基础上(即利用Lucene的功能)提供了一个分布式的、基于JSON的REST API 来更方便地使用 Lucene的功能。
- Elasticsearch提供其他支持功能,如线程池,队列,节点/集群监控API,数据监控API,集群管理等
参考文献
https://codeday.me/bug/20190218/646479.html Lucene和ES的区别
https://www.oschina.net/p/lucene Java 全文搜索框架 Lucene - 开源中国