小编典典

solr 和 lucene 的区别

all

我知道 Lucene 和 Solr 是 2 个不同的Apache
项目
,它们可以一起工作,但我不明白每个项目的目的是什么。

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


阅读 148

收藏
2022-08-17

共1个答案

小编典典

@darkheir:Lucene 和 Solr 是 2 个不同的 Apache 项目,它们可以一起工作,我不明白每个项目的目的是什么。

  1. Solr 在后台使用 Lucene。Lucene 不知道 Solr API。

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

  3. Solr 是围绕 Lucene 构建的。它不仅仅是一个围绕 Lucene 的 http 包装器,而且为 Lucene 添加了更多的武器库 (已归档)。Solr 开箱即用。它是一个 Web 应用程序,除了 Lucene 提供的功能外,还提供相关的基础设施和更多功能。

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

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

例如 Solr、Elastic Search、LinkedIn(是的,在后台)等。

查看这篇文章:Lucene vs Solr

更新(2014 年 6 月 18 日)

什么时候使用 Lucene?

  • 你是一名搜索工程师并且
  • 你是一个程序员并且
  • 您希望完全控制 Lucene 的几乎所有内部​​结构和
  • 您的要求要求您对 Lucene 和
  • 您愿意处理搜索的基础设施元素,例如扩展、分发等。

什么时候使用 Solr?

  • 以上至少一项没有意义。或者
  • 您想要开箱即用的东西(即使没有 Java 知识)或
  • 您的基础架构要求超过了搜索自定义要求。

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

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

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

2022-08-17