我知道 Lucene 和 Solr 是 2 个不同的Apache 项目,它们可以一起工作,但我不明白每个项目的目的是什么。
到目前为止我的理解是 Lucene 用于创建搜索索引,Solr 使用该索引来执行搜索。我是对的还是这是一种完全不同的方法?
@darkheir:Lucene 和 Solr 是 2 个不同的 Apache 项目,它们可以一起工作,我不明白每个项目的目的是什么。
Solr 在后台使用 Lucene。Lucene 不知道 Solr API。
Lucene 是一个强大的搜索引擎框架,它让我们可以为我们的应用程序添加搜索功能。它公开了一个易于使用的 API,同时隐藏了所有与搜索相关的复杂操作。任何应用程序都可以使用这个库,而不仅仅是 Solr。
Solr 是围绕 Lucene 构建的。它不仅仅是一个围绕 Lucene 的 http 包装器,而且还 为 Lucene 添加了更多的武器库 (已归档)。Solr 开箱即用。它是一个 Web 应用程序,除了 Lucene 提供的功能外,还提供相关的基础设施和更多功能。
@darkheir:Lucene 用于创建搜索索引,Solr 使用此索引执行搜索。 我是对的还是这是一种完全不同的方法?
例如 Solr、Elastic Search、LinkedIn(是的,在后台)等。
查看这篇文章:Lucene vs Solr
更新(2014 年 6 月 18 日)
什么时候使用 Lucene?
什么时候使用 Solr?
注意 :我并不是说 Solr 很难定制。Solr 非常灵活,并提供了很多可插拔的 API 点,让您可以随意插入代码。
有些人属于“ 必须使用 Lucene ”阵营,但仍然喜欢 Solr 而不是普通的 Lucene,因为它易于使用。但是,他们从不克制自己最大限度地定制 Solr。
顺便说一句,我看到 Solr (4.x) 上的资源比 Lucene (4.x) 上的资源多。