Solr-1-介绍

版权声明:本文为博主原创文章,未经博主允许不得转载

什么是Solr

Solr是一个基于Lucene的Java搜索引擎服务器。

Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。

Solr原理

Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。

在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回Solr 的标准 XML 响应,也可以配置Solr 的备用响应格式。

同等技术

Lucene和Elasticsearch

Lucene

Lucene是apache下的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。

Elasticsearch

Elasticsearch跟Solr一样,也是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

Elasticsearch与Solr的比较总结:

1.都是基于Lucene,且安装都很简单
2.Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能
3.Solr支持更多格式的数据,而Elasticsearch仅支持json格式
4.Solr官方提供功能较多,而Elasticsearch更注重核心功能,高级功能多由第三方插件提供
5.Solr在传统的搜索应用中表现好于Elasticsearch,但Elasticsearch在实时搜索应用中效率更高

猜你喜欢

转载自blog.csdn.net/weixin_44914784/article/details/89351404