ElaticSearch---主要用途【做全文检索】Lucene---【全文检索】
为什么要使用ElaticSearch。
虽然全文搜索领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
总体来说Lucene缺点:使用起来比较复杂、Lucene不支持集群,而ElaaticSearch真好弥补了这一点。
ElaaticSearch
ES即为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案,其第一个版本于2010年2月出现在GitHub上并迅速成为最受欢迎的项目之一。
首先,ES的索引库管理支持依然是基于Apache Lucene(TM)的开源搜索引擎。
ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTfulAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,ES的核心不在于Lucene,其特点更多的体现为:
(1)分布式的实时文件存储,每个字段都被索引并可被搜索
(2)分布式的实时分析搜索引擎
(3)可以扩展到上百台服务器,处理PB级结构化或非结构化数据 1024KB-1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
高度集成化的服务,你的应用可以通过简单的 RESTful API、各种语言的客户端甚至命令行与之交互。
上手Elasticsearch非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它拥有开瓶即饮的效果(安装即可使用),只需很少的学习既可在生产环境中使用。
Lucence的不足---lucence
1)lucene只能在Java中以java jar引入项目,其他语言就不行了。
2)lucene使用非常复杂,写一大堆代码来实现创建索引和搜索索引。
3)lucene不能集群,环境使用。
ES:特点:
(1)Es 全文检索框架 使用比lucene更简单
(2)ES支持集群 支持分布式
(3)支持JSON的操作
(4)一般大型全文检索都是用ES
(5)通过Restfull风格来操作ES
ES相关概念集群
总结
ElasticSearch简化了全文检索lucene的使用,同时增加了分布式的特性,使得构建大规模分布式全文检索变得非常容易。
最后推荐GitHub是个牛*的网站,多去瞅瞅。
java育儿园里的小学生“磨陀货”友情提供!!! 不用谢不用谢 诶~不用不用 真不用谢