首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >solr与lucene的区别

问solr与lucene的区别
EN

Stack Overflow用户
提问于 2013-03-29 21:51:01
回答 8查看 74.2K关注 0票数 172

我知道Lucene和Solr是两个不同的Apache projects,它们被设计成一起工作,但我不明白每个项目的目标是什么。

到目前为止,我所了解的是Lucene用于创建搜索索引,而Solr使用该索引执行搜索。我是对的,还是这是一种完全不同的方法?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-03-29 23:49:14

@darkheir: Lucene和Solr是两个不同的Apache项目,它们被设计成一起工作,我不明白每个项目的目标是什么。

  1. Solr在幕后使用Lucene。Lucene对Solr API一无所知。

  1. Lucene是一个强大的搜索引擎框架,可以让我们在应用程序中添加搜索功能。它公开了一个易于使用的API,同时隐藏了所有与搜索相关的复杂操作。任何应用程序都可以使用该库,而不仅仅是Solr。

  1. Solr是围绕Lucene构建的。它不仅仅是一个围绕Lucene的http-wrapper,而且是has been known to (存档的)。Solr开箱即用。这是一个web应用程序,除了Lucene提供的功能之外,它还提供了相关的基础设施和更多功能。

@darkheir: Lucene用于创建搜索索引,Solr使用该索引执行搜索。我说的对吗?或者这是一种完全不同的方法?

  1. Lucene不只是为Solr的消耗创建索引。Lucene处理所有与搜索相关的操作。任何应用程序都可以使用Lucene框架。

例如Solr、弹性搜索、LinkedIn (是的,在引擎盖下)等。

查看这篇文章:Lucene vs Solr

更新(14/6/18)

何时使用Lucene?

  • 您是一名搜索工程师和
  • 您是一名程序员和
  • 您希望完全控制Lucene和
  • 的几乎所有内部功能您的需求要求您对Lucene和
  • 进行各种极客式的自定义。

您愿意处理搜索的基础架构元素

何时使用Solr?

  • 上面至少有一条是不合理的。或者
  • 您想要开箱即用的东西(即使不了解Java)或者
  • 您的基础架构需求超过了搜索定制Java

注:我并不是说Solr很难定制。Solr非常灵活,提供了许多可插拔的API点,允许您插入代码。

有些人属于“必须使用Lucene”阵营,但仍然更喜欢Solr而不是普通的Lucene,因为它很容易使用。但是,他们从不限制自己最大限度地定制Solr。

顺便说一句,我发现Solr (4.x)上的资源比Lucene (4.x)上的要多。

票数 239
EN

Stack Overflow用户

发布于 2013-03-29 23:39:13

Lucene是一个低级的Java库(带有到.NET的端口,等等)它实现了索引、分析、搜索等。

Solr是一个独立的预配置产品/webapp,它使用Lucene。如果您更喜欢使用HTTP API而不是Java API,那么Solr是最适合您的。Solr还在顶部添加了一些额外的功能(例如grouping)。

票数 33
EN

Stack Overflow用户

发布于 2014-06-18 21:00:37

把Solr和Lucene之间的关系概念化的一个简单的方法就是汽车和它的引擎。你不会开发动机,但你会开汽车。同样,Lucene是一个编程库,您不能按原样使用它,而Solr是一个完整的应用程序,您可以开箱即用。

来源:Lucene-vs-solr - Lucene Tutorial

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15704644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档