SolrJ 对客户端的困惑

问题描述 投票:0回答:1

SolrJ 提供了许多不同类型的 SolrClient。它们列于此处:https://solr.apache.org/guide/solr/latest/deployment-guide/solrj.html#types-of-solrclients

现在,如果您只是想通过 HTTP 查询 Solr 实例,您可能会选择

HttpSolrClient
Http2SolrClient
Http2SolrClient
听起来比较新,所以您可能想选择这种类型的客户端,因为它支持 HTTP/2。但参考指南告诉我们,它是一个实验类,其 API 可能会在任何次要版本中更改或删除。这听起来不太有希望。因此,您当然会遵循这个建议,然后继续使用旧的
HttpSolrClient
类。但是当您这样做时,您的 IDE 会向您发出弃用警告。它告诉你用什么来代替?当然:
Http2SolrClient
.

我很困惑。那不可能,肯定是我的IDE出错了。所以我尝试在网上找到真正的文档,事实上,该类实际上已被弃用,他们确实希望您改用

Http2SolrClient
客户端。 https://solr.apache.org/docs/9_4_0/solrj/org/apache/solr/client/solrj/impl/HttpSolrClient.html我以为我不能是唯一的一个,但似乎没有人之前我在 Stack Overflow 上问了类似的问题,或者只是找不到它。

那么谁该相信这种情况呢?是 solrJ 开发人员编写的 javadoc 还是参考指南?也许 solr 团队的声明或解释会很棒。 https://issues.apache.org/jira/browse/SOLR-15223(提交:https://github.com/apache/solr/commit/77921bab52f5a3ec11626759ab72e0a6f0b62092) 在 Jira 中,他们解释了为什么他们弃用了一个类,但他们没有解释为什么 solr 宇宙中现在有两个不同版本的现实。 我很想相信这个开发者的说法,但为什么没有人费心去更改参考指南呢?

作为每一个理智的人,我希望参考指南和 javadoc 能讲述同样的故事。到今天为止,他们不仅陈述了两种不同的事情,而且立场完全相反。

solr solrj
1个回答
0
投票

我可以看到必须在已弃用的客户端和实验性客户端之间进行选择是多么令人沮丧。事实上,在 9.x 中您仍然有选择,并且已弃用的选择在某些极端情况下可能仍然更可取。然而,Http2SolrClient 已经存在了足够长的时间,我们只是建议将其设为非实验性,所以不要害怕尝试一下。当 9.6 发布时,您将有第三种选择,即

HttpJdkSolrClient
,这是一个使用 JDK11 HTTP 客户端的选项,不需要 apache-http 或 jetty-http 依赖项。

升级到 Solr 10 时(预计到 2024 年底),HttpSolrClient 将消失。

© www.soinside.com 2019 - 2024. All rights reserved.