Apache Solr - 概述
Solr 是一个开源搜索平台,用于构建搜索应用程序。它建立在 Lucene(全文搜索引擎)之上。Solr 适用于企业,速度快,可扩展性强。使用 Solr 构建的应用程序非常复杂,性能出色。
2004 年,Yonik Seely 创建了 Solr,旨在为 CNET Networks 公司网站添加搜索功能。2006 年 1 月,它成为 Apache 软件基金会下的一个开源项目。其最新版本 Solr 6.0 于 2016 年发布,支持执行并行 SQL 查询。
Solr 可以与 Hadoop 一起使用。由于 Hadoop 处理大量数据,因此 Solr 可以帮助我们从如此庞大的来源中找到所需的信息。 Solr 不仅可用于搜索,还可用于存储。与其他 NoSQL 数据库一样,它是一种非关系数据存储和处理技术。
简而言之,Solr 是一种可扩展、随时可部署的搜索/存储引擎,专门针对搜索大量以文本为中心的数据进行了优化。
Apache Solr 的功能
Solr 是 Lucene Java API 的包装。因此,使用 Solr,您可以利用 Lucene 的所有功能。让我们来看看 Solr 的一些最突出的功能 −
Restful API − 要与 Solr 通信,不一定要具备 Java 编程技能。相反,您可以使用 restful 服务与其通信。我们在 Solr 中输入 XML、JSON 和 .CSV 等文件格式的文档,并以相同的文件格式获得结果。
全文搜索 − Solr 提供全文搜索所需的所有功能,例如标记、短语、拼写检查、通配符和自动完成。
企业就绪 − 根据组织的需要,Solr 可以部署在任何类型的系统(大型或小型)中,例如独立、分布式、云等。
灵活且可扩展 − 通过扩展 Java 类并进行相应配置,我们可以轻松定制 Solr 的组件。
NoSQL 数据库 − Solr 还可以用作大数据规模 NOSQL 数据库,我们可以在其中沿集群分发搜索任务。
管理界面 − Solr 提供了一个易于使用、用户友好、功能强大的用户界面,我们可以使用该界面执行所有可能的任务,例如管理日志、添加、删除、更新和搜索文档。
高度可扩展 − 在将 Solr 与 Hadoop 一起使用时,我们可以通过添加副本来扩展其容量。
以文本为中心并按相关性排序 − Solr 主要用于搜索文本文档,并根据与用户查询的相关性按顺序提供结果。
与 Lucene 不同,使用 Apache Solr 时不需要具备 Java 编程技能。它提供了一项出色的即用型服务,用于构建具有自动完成功能的搜索框,而 Lucene 不提供此功能。使用 Solr,我们可以扩展、分发和管理索引,适用于大规模(大数据)应用程序。
搜索应用程序中的 Lucene
Lucene 是一个简单但功能强大的基于 Java 的搜索库。它可以用于任何应用程序以添加搜索功能。Lucene 是一个可扩展且高性能的库,用于索引和搜索几乎任何类型的文本。Lucene 库提供了任何搜索应用程序所需的核心操作,例如索引和搜索。
如果我们有一个包含大量数据的 Web 门户,那么我们很可能需要门户中的搜索引擎来从庞大的数据池中提取相关信息。Lucene 是任何搜索应用程序的核心,并提供与索引和搜索相关的重要操作。