学习完整课程请移步 互联网 Java 全栈工程师
本节视频
概述
Solr 是一个开源搜索平台,用于构建搜索应用程序。它建立在 Lucene (全文搜索引擎)之上。Solr 是企业级的,快速的和高度可扩展的。使用 Solr 构建的应用程序非常复杂,可提供高性能。
为了在 CNET 网络的公司网站上添加搜索功能,Yonik Seely 于 2004 年创建了 Solr。并在 2006 年 1 月,它成为 Apache 软件基金会下的一个开源项目。并于2016年发布最新版本 Solr 6.0,支持并行SQL查询的执行。
Solr 可以和 Hadoop 一起使用。由于 Hadoop 处理大量数据,Solr 帮助我们从这么大的源中找到所需的信息。不仅限于搜索,Solr 也可以用于存储目的。像其他 NoSQL 数据库一样,它是一种非关系数据存储和处理技术。
总之,Solr 是一个可扩展的,可部署,搜索/存储引擎,优化搜索大量以文本为中心的数据库。
Apache Solr 特点
Solr 是 Lucene 的 Java API 的包装。因此,使用 Solr,可以利用 Lucene 的所有功能。
- Restful APIs − 要与 Solr 通信,并非一定需要有 Java 编程技能。相反,您可以使用 RESTful 服务与它通信。可使用文件格式(如XML,JSON和.CSV)在 Solr 中作为输入文档,并以相同的文件格式获取结果。
- 全文搜索 - Solr 提供了全文搜索所需的所有功能,例如令牌,短语,拼写检查,通配符和自动完成。
- 企业准备 - 根据企业/组织的需要,Solr 可以部署在任何类型的系统(大或小),如独立,分布式,云等。
- 灵活和可扩展 - 通过扩展 Java 类并相应配置,可以轻松地定制 Solr 的组件。
- NoSQL 数据库 - Solr 也可以用作大数据量级的 NOSQL 数据库,可以沿着集群分布搜索任务。
- 管理界面 - Solr 提供了一个易于使用,用户友好,功能强大的用户界面,使用它可以执行所有可能的任务,如管理日志,添加,删除,更新和搜索文档。
- 高度可扩展 - 在使用 Solr 与 Hadoop 时,我们可以通过添加副本来扩展其容量。
- 以文本为中心并按相关性排序 - Solr 主要用于搜索文本文档,结果根据与用户查询的相关性按顺序传送。
与 Lucene 不同,在使用 Apache Solr 时,可不需要具有 Java 编程技能。它提供了一个完整的准备部署服务,以构建一个自动完成的搜索框,Lucene 是不提供的。 使用 Solr 可以扩展,分配和管理大规模(大数据)应用程序的索引。