美文网首页
Solr初识

Solr初识

作者: 阿太哥 | 来源:发表于2017-04-03 10:02 被阅读231次

    1 什么是Solr

    Solr是Apache的顶级开源项目,它是使用Java开发的,基于lucene的全文搜索服务器。可独立运行在Servlet容器(Apache Tomcat或jetty)。

    Solr相对lucene提供了更多的查询语句,提供了更多的性能优化。

    Solr 对外提供标准的http接口来实现对数据的索引的增、删、改、查。在Solr中用户通过向部署在servlet容器中的Solr web应用程序发送http请求来启动索引和搜索。通过http以同样的方式返回响应,可配置xml,json 响应类型

    2 Solr和lucene

    Lucene是一个全文搜索引擎工具包,它是一个jar包,不能独立运行,对外提供服务。solr是基于lucene开发的。同时提供了更丰富的查询语言,实现了可配置,可扩展并对查询性能进行了优化,提供了完善的管理界面http/ip:port/solr 

    3 Solr和Elasticsearch

    Elasticsearch是基于lucene基础上的搜索引擎。提供了:

    分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。

    实时分析的分布式搜索引擎。

    可扩展到上百台服务器,处理pb级别的结构化或非结构化数据。

    目前维基百科使用Elaticsearch来进行全文搜索并作高亮显示关键词,以及提供search-as-you-type,did-you-mean等搜索建议功能。

    Github使用Elasticsearch来检索超过1300亿行代码。等等

    elasticsearch特点

    分布式的,不需要其它组件,分发是实时的,被称为push replication

    完全支持lucence的接近实时的搜索

    处理多租户不需要特殊配置,而solr需要更多高级设置

    采用gateway的概念,使得完全备份更加简单

    各节点组成对等的网络结构,某些节点出现故障时会自动分配其它节点代替其工作

    slor特点

    solr有更大,更成熟的用户,开发和贡献者社区

    支持添加多种格式的索引,比如html,pdf,office系列格式,json,xml,csv等

    对已有数据进行搜索时,solr更快,但在建立索引时,搜索效率下降,实时搜索效率不高

    随着数据量的增加,solr的搜索效率会变得很低,而elaticsearch没有明显变化

    solr 的架构不适合实时搜索的应用。

    相关文章

      网友评论

          本文标题:Solr初识

          本文链接:https://www.haomeiwen.com/subject/eamnottx.html