Apache Solr概述

Python/Java学习交流群:369606713


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

这是 YonikSeely 谁在2004年,以搜索功能添加到CNET网络公司网站创建的Solr。2006年1月,它成为Apache Software Foundation下的一个开源项目。其最新版本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,并以相同的文件格式获得结果。

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

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

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

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

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

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

  • Text-Centric and Sorted by Relevance - Solr主要用于搜索文本文档,结果根据与用户查询的相关性按顺序传递。

与Lucene不同,在使用Apache Solr时,您不需要具备Java编程技能。它提供了一个很好的可随时部署的服务来构建一个具有自动完成功能的搜索框,Lucene没有提供。使用Solr,我们可以为大规模(大数据)应用程序扩展,分发和管理索引。

Lucene在搜索应用程序中

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

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

Apache Solr教程内容导航