Apache Solr 简明教程

Apache Solr - Overview

Solr 是一个开源搜索平台,该平台用于构建 search applications 。它建立在 Lucene (全文搜索引擎)之上。Solr 已经准备就绪,速度快且具有高度可扩展性。利用 Solr 构建的应用程序十分精良,而且能够提供高性能。

2004 年,正是 Yonik Seely 为了给 CNET Networks 的公司网站添加搜索功能才创建了 Solr。2006 年 1 月,它在 Apache 软件基金会下成为一个开源项目。其最新版本 Solr 6.0 于 2016 年发布,该版本支持执行并行 SQL 查询。

Solr 可以与 Hadoop 一起使用。由于 Hadoop 处理大量数据,Solr 帮助我们在如此庞大的数据源中找到所需的信息。Solr 不仅可用于搜索,还可以用于存储目的。与其他 NoSQL 数据库一样,它是一个 non-relational data storageprocessing technology

简而言之,Solr 是一个可扩展的、已准备好部署的搜索/存储引擎,其经过优化,可搜索大量以文本为中心的的数据。

Features of Apache Solr

Solr 是一个围绕 Lucene 的 Java API 的包装器。因此,使用 Solr,您可以利用 Lucene 的所有功能。让我们看看 Solr 的一些最突出的特性 -

  1. Restful APIs - 要与 Solr 通信,不必具备 Java 编程技能。相反,您可以使用 restful 服务与其通信。我们将文档采用 XML、JSON 和 .CSV 等文件格式输入到 Solr 中,并以相同的文件格式获取结果。

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

  3. Enterprise ready - 根据组织的需要,Solr 可以部署在任何类型的系统(无论大小)中,如独立、分布式、云端等。

  4. Flexible and Extensible - 通过扩展 Java 类并相应地配置,我们可以轻松定制 Solr 的组件。

  5. NoSQL database - Solr 还可以用作大数据规模的 NOSQL 数据库,在该数据库中我们可以在集群中分发搜索任务。

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

  7. Highly Scalable − 在与 Hadoop 一起使用 Solr 时,我们可以通过添加副本来扩展其容量。

  8. Text-Centric and Sorted by Relevance − Solr 主要用于搜索文本文档,并根据用户的查询按顺序提供相关结果。

与 Lucene 不同,在使用 Apache Solr 时,您无需具备 Java 编程技能。它提供了一项开箱即用的出色服务来构建一个具有自动完成功能的搜索框,而 Lucene 并不提供此功能。使用 Solr,我们可以为大规模(大数据)应用程序扩展、分发和管理索引。

Lucene in Search Applications

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

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