我知道 Lucene 和 Solr 是两个不同的 Apache 项目,它们可以一起工作,但我不明白每个项目的目标是什么。
到目前为止,我所了解的是 Lucene 用于创建搜索索引,而 Solr 使用该索引来执行搜索。我是对的还是这是一种完全不同的方法?
原文由 darkheir 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
@darkheir:Lucene 和Solr 是两个不同的Apache 项目,它们可以协同工作,我不明白每个项目的目标是什么。
Solr 在底层使用 Lucene。 Lucene 对 Solr API 毫无头绪。
Lucene 是一个强大的搜索引擎框架,让我们可以将搜索功能添加到我们的应用程序中。它公开了一个易于使用的 API,同时隐藏了所有与搜索相关的复杂操作。任何应用程序都可以使用这个库,而不仅仅是 Solr。
Solr 是围绕 Lucene 构建的。它不仅仅是一个围绕 Lucene 的 http-wrapper,而且 众所周知可以 为 Lucene 添加更多武器库(已存档)。 Solr 开箱即用。它是一个 Web 应用程序,除了 Lucene 提供的功能外,还提供相关的基础架构和更多功能。
@darkheir:Lucene 用于创建搜索索引,Solr 使用该索引执行搜索。我是对的还是这是一种完全不同的方法?
例如 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) 多。