Apache Solr - 概述



Solr 是一个开源搜索平台,用于构建搜索应用程序。它构建在Lucene(全文搜索引擎)之上。Solr 具备企业级功能,快速且高度可扩展。使用 Solr 构建的应用程序功能强大,并提供高性能。

Yonik Seely 于 2004 年创建了 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 服务与之通信。我们以 XML、JSON 和 .CSV 等文件格式将文档输入 Solr,并以相同的格式获取结果。

  • 全文搜索 - Solr 提供了全文搜索所需的所有功能,例如标记、短语、拼写检查、通配符和自动完成功能。

  • 企业级功能 - 根据组织的需求,Solr 可以部署在任何类型的系统(大或小)中,例如独立、分布式、云等。

  • 灵活且可扩展 - 通过扩展 Java 类并进行相应配置,我们可以轻松自定义 Solr 的组件。

  • NoSQL 数据库 - Solr 也可以用作大规模 NoSQL 数据库,我们可以在集群中分配搜索任务。

  • 管理界面 - Solr 提供了一个易于使用、用户友好、功能强大的用户界面,我们可以使用它执行所有可能的任务,例如管理日志、添加、删除、更新和搜索文档。

  • 高度可扩展 - 在使用 Solr 与 Hadoop 时,我们可以通过添加副本来扩展其容量。

  • 以文本为中心并按相关性排序 - Solr 主要用于搜索文本文档,结果按与用户查询的相关性顺序排列。

与 Lucene 不同,在使用 Apache Solr 时,您不需要具备 Java 编程技能。它提供了一种很棒的即用型服务来构建具有自动完成功能的搜索框,而 Lucene 没有提供此功能。使用 Solr,我们可以扩展、分发和管理索引,以用于大型(大数据)应用程序。

Lucene 在搜索应用程序中的应用

Lucene 是一个简单而强大的基于 Java 的搜索库。它可以用于任何应用程序以添加搜索功能。Lucene 是一个可扩展且高性能的库,用于索引和搜索几乎任何类型的文本。Lucene 库提供了任何搜索应用程序所需的核心操作,例如索引搜索

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

广告