Apache Solr 概述


Solr 是一个开源搜索平台,用于构建 搜索应用程序 .它建立在 Lucene (全文搜索引擎)。 Solr 是企业级的、快速且高度可扩展的。使用 Solr 构建的应用程序非常复杂并提供高性能。

It was 尤尼克·西利 他在 2004 年创建了 Solr,以便为 CNET Networks 的公司网站添加搜索功能。 2006 年 1 月,它成为 Apache 软件基金会下的一个开源项目。其最新版本 Solr 6.0 于 2016 年发布,支持执行并行 SQL 查询。

Solr 可以与 Hadoop 一起使用。由于 Hadoop 处理大量数据,Solr 帮助我们从如此大的来源中找到所需的信息。不仅搜索,Solr 还可以用于存储目的。与其他 NoSQL 数据库一样,它是一个 非关系数据存储 and 加工技术 .

简而言之,Solr 是一个可扩展、可部署的搜索/存储引擎,已针对搜索大量以文本为中心的数据进行了优化。

Apache Solr 的特点


Solr 是 Lucene 的 Java API 的一个包装。因此,使用 Solr,你可以利用 Lucene 的所有功能。让我们来看看 Solr 的一些最突出的特点:

  • 宁静的 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 库提供了任何搜索应用程序所需的核心操作,例如 Indexing and 搜索 .

如果我们有一个包含大量数据的门户网站,那么我们很可能需要在我们的门户网站中使用搜索引擎从庞大的数据池中提取相关信息。 Lucene 是任何搜索应用程序的核心,提供与索引和搜索相关的重要操作。