Lucene和Solr

Lucene

Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索

Solr

Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括: 

  • 高级的全文搜索功能 
  • 专为高通量的网络流量进行的优化 
  • 基于开放接口(XML和HTTP)的标准 
  • 综合的HTML管理界面 
  • 可伸缩性-能够有效地复制到另外一个Solr搜索服务器 
  • 使用XML配置达到灵活性和适配性 
  • 可扩展的插件体系

简单来说

Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能。

Solr是基于Lucene的搜索界面。提供XML/HTTP 和 JSON/Python/Ruby API,提供搜索入口,点击高亮,缓存,备份和管理界面。

Lucene和Solr的区别

Solr和Lucene的本质区别有以下三点:搜索服务器、企业级、管理

  1. Lucene本质上是搜索库,不是独立的应用程序,而Solr是。
  2. Lucene专注于搜索底层的建设,而Solr专注于企业应用。
  3. Lucene不负责支撑搜索服务所必须的管理,而Solr负责。

所以说,一句话概括Solr: Solr是基于Lucene面向企业搜索应用的扩展

区别和联系

Lucene是一个做搜索用的类库。Solr都是基于Lucene可直接运行的应用程序。

Solr是Lucene的服务器化,内嵌了Jetty,提供REST接口,用户可以直接post数据给Solr,然后由Solr进行索引。

Solr不包含下载系统,用户需要负责下载,转成solr所需要的格式。

Solr在Lucene上的扩展

  • 一个真正的拥有动态字段(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema) 
  • 对Lucene查询语言的强大扩展! 
  • 支持对结果进行动态的分组和过滤 
  • 高级的,可配置的文本分析 
  • 高度可配置和可扩展的缓存机制 
  • 性能优化 
  • 支持通过XML进行外部配置 
  • 拥有一个管理界面 
  • 可监控的日志 
  • 支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值