我知道 Lucene 和 Solr 是两个不同的 阿帕奇计划,它们被设计成一起工作,但是我不明白每个项目的目标是什么。
到目前为止,我所理解的是 Lucene 用于创建搜索索引,Solr 用这个索引执行搜索。 我说的对吗,还是这完全是另一种方式?
Lucene 是一个底层的 Java 库(带有.NET 等的端口) ,它实现了索引、分析、搜索等功能。
Solr 是一个独立的预配置产品/webapp,它使用 Lucene。如果您更喜欢处理 HTTPAPI 而不是 JavaAPI,那么 Solr 非常适合您。Solr 在顶部还有一些额外的特性(例如 分组)。
Lucene 和 Solr 是两个不同的 Apache 项目,它们被设计成一起工作,我不明白每个项目的目的是什么。
Solr 在底层使用 Lucene,Lucene 对 Solr API 一无所知。
Lucene 是一个强大的搜索引擎框架,它允许我们为应用程序添加搜索功能。它公开了一个易于使用的 API,同时隐藏了所有与搜索相关的复杂操作。任何应用程序都可以使用这个库,而不仅仅是 Solr。
Solr 是围绕 Lucene 建造的。它不仅仅是 Lucene 的一个 http 包装器,而且是 已知的 添加更多的阿森纳到 Lucene 强 > (存档)。Solr 已经可以随时使用了。它是一个 Web 应用程序,除了 Lucene 提供的功能之外,它还提供了相关的基础设施和更多的特性。
Lucene 用于创建一个搜索索引,Solr 使用这个索引执行搜索。我说的对吗,还是这完全是另一种方式?
Lucene 不仅仅为 Solr 创建消费索引。Lucene 负责所有搜索相关的操作。任何应用程序都可以使用 Lucene 框架。
例如 Solr,Elastic Search,LinkedIn (是的,在引擎盖下)等等。
看看这篇文章: Lucene VS Solr
更新(6/18/14)
何时使用 Lucene?
何时使用 Solr?
注意 : 我并不是说 Solr 很难定制。Solr 非常灵活,提供了许多可插入的 API 点,允许您插入代码。
有些人属于“ 必须使用 Lucene”阵营,但仍然更喜欢 Solr,而不是简单的 Lucene,因为它很容易使用。但是,他们从不限制自己最大限度地定制 Solr。
顺便说一句,我发现 Solr (4.x)上的资源比 Lucene (4.x)上的多。
一个简单的方法来概念化 Solr 和 Lucene 之间的关系 就是汽车和它的发动机。你不能驾驶发动机,但是你 类似地,Lucene 是一个可编程的库,你可以 不能按原样使用,而 Solr 是一个完整的应用程序,您可以 使用开箱即用的。
资料来源: Lucene-vs-solr-Lucene 教程
SOLR 是一个 包装纸/Lucene 索引。
这很容易理解: SOLR 是 车,Lucene 是 引擎。你只需要知道如何驾驶汽车(SOLR) ,也需要知道一些事情的发动机(Lucene)的情况下,如果将有任何问题在您的汽车发动机。
安全驾驶:)
Solr 构建在 Lucene 之上,提供一个搜索平台。
搜索平台分为以下几层:
参考文章: 企业搜索
你可以在这里找到一个关于朗斯和太阳能的目的的很好的比较:
Http://www.lucenetutorial.com/lucene-vs-solr.html
朗讯只是引擎,太阳能是你可以驾驶的汽车(配备休息 api 等)
您可以按照下面的方式来设想—— ApacheLucene 是 ApacheSolr 在内部使用的库。它是用 Java 编写的,提供了惊人的全文搜索和索引功能。它可以分析来自世界各地的大量语言,并准备在这些语言的文本,以高效和快速的搜索和分析。Lucene 是一个库——您可以直接在应用程序中使用它,并自己实现所有内容,但 Apache Solr 提供了很多开箱即用的功能。
ApacheSolr 搜索引擎提供了诸如 HTTPAPI 之类的东西,您可以使用这些东西向它们发送数据,并在以后搜索这些数据。您可以使用 API 控制搜索引擎,创建分布式环境,并自动将数据分布到多个节点以及更多的节点。
Apache Lucene 是针对搜索引擎的普通版本 ,而 Apache Solr 继承了 Lucene具有 Apache Lucene 没有开箱即用的新内置特性。
您可以使用 ApacheSolr,而不必使用 ApacheLucene 来节省资源和手动工作。