什么是索引
将非结构化数据中的一部分信息提取进去,从新组织,使其变得有肯定构造,而后对此有肯定构造的数据进行搜寻,从而达到搜寻绝对较快的目标。这部分 从非结构化数据中提取出的而后从新组织的信息,称之索引。
什么是全文检索(Full-text Search)
先建设索引,再对索引进行搜寻的过程就叫全文检索(Full-text Search)。
什么是 Lucene
Lucene 是 apache 下的一个开源的全文检索引擎 工具包(它提供了许多的 jar 包,即实现全文检索的类库)。它提供了残缺的查问引擎和索引引擎,局部文本剖析引擎。Lucene 的目标是为软件开发人员提供一个简略易用的工具包,以不便地在指标零碎中实现全文检索的性能。
Lucene 与搜索引擎的区别
搜索引擎是对外提供全文检索服务的,是能够独自运行的。
Lucene 只是一个工具包,不能独自运行,须要在我的项目中退出 Lucene 的 jar 包,将最终的我的项目在 JVM 中运行。
什么是 ElasticSearch
ElasticSearch 是在 Apache Lucene 的根底上开发而成,对 Lucene 进行了封装和加强,是一个分布式的开源搜寻和剖析引擎,实用于所有类型的数据,包含文本、数字、天文空间、结构化和非结构化数据。。
ElasticSearch vs Solr
- Solr 装置绝对简单。ES 开箱即用,非常简略笨重。
- Solr 应用 Zookeeper 进行分布式治理。ES 自带分布式协调治理性能。
- Solr 反对多种格局的数据,如 JSON XML CSV。ES 只反对 JSON 格局。
- Solr 官网提供的性能更加丰盛。ES 更专一于外围性能,高级性能通过第三方插件提供。
- Solr 查问速度快,但更新索引速度慢。ES 建设索引速度快,实时性查问速度快。
- Solr 社区更成熟沉闷。ES 开发维护者较少,更新迭代快,学习应用老本高。