4

我们可以像在原始 Lucene 中一样自定义嵌入在 Solr 中的 Lucene 吗?这样我们就可以在 Solr 中拥有我们在 Lucene 中拥有的“一切”?

我之所以这样问,是因为我们在决定 Solr 与 Lucene 时陷入困境,这样想:

论点 1:

“如果我们选择 Solr,我们将来可能会遇到一个死区,因此 Lucene 是一个更好的选择......所以我们不妨开始在 Lucene 之上编写 HTTP 包装器和几乎一半的 Solr,以更安全。”

论点 2:

“Solr 已经具备了我们想要使用的所有功能,那为什么不直接使用呢?既然提交 Lucene 的人也负责提交 Solr,那么 Solr 也可以使用 Lucene 的所有功能......”

我浏览了许多博客和帖子,其中包含以下内容:

对于需要对 Lucene API 类进行低级访问的非常定制化需求的情况,Solr 将是一个障碍而不是帮助,因为它是一个额外的间接层。
-http://www.lucenetutorial.com/lucene-vs-solr.html

捍卫论点 2 的一种方法是确认我们可以自定义 Solr 中的底层 Lucene,就像我们只有 Lucene 时所做的那样。

有人可以提供一个更好的方法来结束这个论点吗?:)

ps:我们需要一个快速搜索,索引和分片 TB 的数据......

4

1 回答 1

5

我们可以定制嵌入在 Solr 中的 Lucene 吗?

是的,你可以。但请记住这一点:

Lucene 和 Solr 提交者是全文搜索领域的一些最重要的专家。他们在这个领域有几年的经验。如果您认为自己可以做得比他们更好,那么请继续根据您的需要更改 Solr(它是 Apache 许可的,因此没有任何商业限制),如果您这样做,请尝试这样做,以便您以后可以贡献它回到项目,这样每个人都可以受益,项目向前推进。

不过,对于绝大多数 Solr 用户来说,库存产品已经绰绰有余,可以满足所有需求。

换句话说,在开始更改代码之前,请在邮件列表(stackoverflow 或 solr-user)上询问,很有可能您实际上不需要更改任何代码。

“通过索引和分片 TB 级数据进行快速搜索”正是 Solr 的目标。Not-Invented-Here 不使用它或任何其他类似的解决方案(如 ElasticSearch、Sphinx、Xapian 等)将是一个糟糕的案例。如果您认为需要自定义或扩展任何搜索服务器方式,考虑每一个的许可证和底层代码。Solr 和 ElasticSearch 都是 Apache 许可的,因此它们没有商业限制,并且构建在著名的库 Lucene 之上。

于 2011-02-28T12:29:08.103 回答