什么是索引
将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,称之索引。
什么是全文检索(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 开发维护者较少,更新迭代快,学习使用成本高。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。