Apache Solr - 教程

  • 简述

    Solr是一个开源搜索平台,用于构建search applications. 它建立在Lucene(全文搜索引擎)。Solr 是企业级的、快速且高度可扩展的。使用 Solr 构建的应用程序非常复杂并提供高性能。
    它是Yonik Seely他在 2004 年创建了 Solr,以便为 CNET Networks 的公司网站添加搜索功能。2006 年 1 月,它成为 Apache 软件基金会下的一个开源项目。其最新版本 Solr 6.0 于 2016 年发布,支持执行并行 SQL 查询。
    Solr 可以与 Hadoop 一起使用。由于 Hadoop 处理大量数据,Solr 帮助我们从如此大的来源中找到所需的信息。不仅搜索,Solr 还可以用于存储目的。与其他 NoSQL 数据库一样,它是一个non-relational data storageprocessing technology.
    简而言之,Solr 是一个可扩展、可部署的搜索/存储引擎,已针对搜索大量以文本为中心的数据进行了优化。
    Solr 是一个可扩展、可部署的搜索/存储引擎,经过优化,可搜索大量以文本为中心的数据。Solr 是企业级的、快速且高度可扩展的。在本教程中,我们将学习 Solr 的基础知识以及如何在实践中使用它。
    本教程将对所有希望了解 Apache Solr 的基本功能以开发复杂和高性能应用程序的开发人员有所帮助。
    在继续本教程之前,我们希望读者具备良好的 Java 编程技能(尽管这不是强制性的),并且事先接触过 LuceneHadoop 环境。
  • Apache Solr 的特点

    Solr 是 Lucene 的 Java API 的一个包装。因此,使用 Solr,您可以利用 Lucene 的所有功能。让我们来看看 Solr 的一些最突出的特点 -
    • Restful APIs− 要与 Solr 通信,不需要具备 Java 编程技能。相反,您可以使用 RESTful 服务与其进行通信。我们在 Solr 中以 XML、JSON 和 .CSV 等文件格式输入文档,并以相同的文件格式获得结果。
    • Full text search− Solr 提供全文搜索所需的所有功能,例如标记、短语、拼写检查、通配符和自动完成。
    • Enterprise ready− 根据组织的需要,Solr 可以部署在任何类型的系统(无论大小)中,例如独立、分布式、云等。
    • Flexible and Extensible− 通过扩展Java 类并进行相应配置,我们可以轻松定制Solr 的组件。
    • NoSQL database− Solr 也可以用作大数据规模的 NOSQL 数据库,我们可以在其中沿着集群分布搜索任务。
    • Admin Interface− Solr 提供了一个易于使用、用户友好、功能强大的用户界面,使用它我们可以执行所有可能的任务,例如管理日志、添加、删除、更新和搜索文档。
    • Highly Scalable− 在将 Solr 与 Hadoop 结合使用时,我们可以通过添加副本来扩展其容量。
    • Text-Centric and Sorted by Relevance− Solr 主要用于搜索文本文档,并根据与用户查询的相关性依次传递结果。
    与 Lucene 不同,您在使用 Apache Solr 时不需要具备 Java 编程技能。它提供了一个很棒的准备部署服务来构建一个具有自动完成功能的搜索框,而 Lucene 不提供。使用 Solr,我们可以为大型(大数据)应用程序扩展、分发和管理索引。
  • 搜索应用程序中的 Lucene

    Lucene 是一个简单而强大的基于 Java 的搜索库。它可用于任何应用程序以添加搜索功能。Lucene 是一个可扩展的高性能库,用于索引和搜索几乎任何类型的文本。Lucene 库提供了任何搜索应用程序所需的核心操作,例如IndexingSearching.
    如果我们有一个包含大量数据的门户网站,那么我们很可能需要在我们的门户网站中使用搜索引擎从庞大的数据池中提取相关信息。Lucene 是任何搜索应用程序的核心,提供与索引和搜索相关的重要操作。