Solr是一个开源搜索平台,用于构建搜索应用程序。 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。 使用Solr构建的应用程序非常复杂,可提供高性能。
为了在CNET网络的公司网站上添加搜索功能,Yonik Seely于2004年创建了Solr。并在2006年1月,它成为Apache软件基金会下的一个开源项目。并于2016年发布最新版本Solr 6.0
,支持并行SQL查询的执行。
Solr可以和Hadoop一起使用。由于Hadoop处理大量数据,Solr
帮助我们从这么大的源中找到所需的信息。不仅限于搜索,Solr也可以用于存储目的。像其他NoSQL数据库一样,它是一种非关系数据存储和处理技术。
总之,Solr是一个可扩展的,可部署,搜索/存储引擎,优化搜索大量以文本为中心的数据。
Solr是Lucene
的Java API的包装。因此,使用Solr,可以利用Lucene
的所有功能。 让我们来看看Solr的一些最突出的特点 -
Apache Solr特点
Solr是Lucene
的Java API的包装。因此,使用Solr,可以利用Lucene
的所有功能。 让我们来看看Solr的一些最突出的特点 -
- Restful APIs − 要与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库提供任何搜索应用程序所需的核心操作,例如索引和搜索。
如果有一个具有大量数据的门户网站或平台,那么我们将很可能需要在门户/平台中提取一个搜索引擎从巨大的数据库中提取相关信息。Lucene作为任何搜索应用程序的核心,提供与索引和搜索相关的重要操作。