📅  最后修改于: 2020-12-02 05:42:03             🧑  作者: Mango
Solr是一个开源搜索平台,用于构建搜索应用程序。它建立在Lucene (全文搜索引擎)之上。 Solr具有企业级,快速和高度可扩展性。使用Solr构建的应用程序非常复杂,并提供了高性能。
Yonik Seely于2004年创立了Solr,目的是向CNET Networks公司的网站添加搜索功能。在2006年1月,它成为Apache Software Foundation下的一个开源项目。它的最新版本Solr 6.0于2016年发布,支持执行并行SQL查询。
Solr可以与Hadoop一起使用。由于Hadoop处理大量数据,Solr帮助我们从如此大量的资源中查找所需的信息。 Solr不仅可以搜索,还可以用于存储目的。像其他NoSQL数据库一样,它是一种非关系数据存储和处理技术。
简而言之,Solr是一个可扩展的,易于部署的搜索/存储引擎,经过优化,可以搜索大量以文本为中心的数据。
Solr是Lucene Java API的包装。因此,使用Solr,您可以利用Lucene的所有功能。让我们看一下Solr的一些最突出的功能-
宁静的API-要与Solr进行通信,并非必须具有Java编程技能。相反,您可以使用静态服务与之通信。我们以XML,JSON和.CSV等文件格式在Solr中输入文档,并以相同的文件格式获取结果。
全文搜索-Solr提供了全文搜索所需的所有功能,例如标记,短语,拼写检查,通配符和自动完成。
企业就绪-根据组织的需要,Solr可以部署在任何类型的系统(大型或小型)中,例如独立,分布式,云计算等。
灵活和可扩展-通过扩展Java类并进行相应的配置,我们可以轻松地自定义Solr的组件。
NoSQL数据库-Solr也可以用作大数据规模的NOSQL数据库,我们可以在其中沿集群分布搜索任务。
管理界面-Solr提供了易于使用,用户友好,功能强大的用户界面,通过该界面我们可以执行所有可能的任务,例如管理日志,添加,删除,更新和搜索文档。
高度可扩展-将Solr与Hadoop结合使用时,我们可以通过添加副本来扩展其容量。
以文本为中心并按相关性排序-Solr通常用于搜索文本文档,并根据与用户查询的相关性按顺序交付结果。
与Lucene不同,使用Apache Solr时不需要具有Java编程技能。它提供了出色的随时部署服务,以构建具有自动完成功能的搜索框,而Lucene则不提供。使用Solr,我们可以扩展,分发和管理大型(大数据)应用程序的索引。
Lucene是简单而强大的基于Java的搜索库。可以在任何应用程序中使用它来添加搜索功能。 Lucene是一个可伸缩的高性能库,用于索引和搜索几乎所有类型的文本。 Lucene库提供了任何搜索应用程序所需的核心操作,例如Indexing和Searching 。
如果我们拥有一个门户网站,其中包含大量数据,则很可能需要在门户网站中使用搜索引擎从庞大的数据池中提取相关信息。 Lucene充当任何搜索应用程序的核心,并提供与索引和搜索有关的重要操作。