gpt4 book ai didi

solr - 使用 Solrj Api 和 Kerberized Solr 创建 Solr 客户端

转载 作者:行者123 更新时间:2023-12-04 21:04:47 26 4
gpt4 key购买 nike

我正在尝试使用 solrj api 为 kerberised solr 创建一个 solr 客户端。根据 solrj 的文档,需要设置HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());在代码中。

但是solrj api jar没有功能setConfigurerHttpClientUtil类(class)。我正在使用来自 maven 的以下依赖项。

<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>7.2.1</version>
</dependency>

是否可以使用 new HttpSolrClient.Builder 创建 solr 客户端?并启用 kerberisation 以读取 jaas.config文件进行身份验证和授权。

目前我正在创建如下所示的 solr 客户端;
new HttpSolrClient.Builder("solrUrlString").build()

但我没有看到启用 Krb5HttpClientConfigurer 的选项以上述方式

最佳答案

“HttpClientUtil.setConfigurer”方法从“solr-solrj”版本 6.0.0 开始弃用,最终从 7.0.0 版本开始移除。

但仍然是 solrj 的文档尚未使用创建 Kerberized Solr 客户端的新方法进行更新。

想出在 7.0.0 版本之后的方法:

        Builder solrClientBuilder = new HttpSolrClient.Builder("https://<hostname>/solr/<collectionName>");
Krb5HttpClientBuilder krbBuilder = new Krb5HttpClientBuilder();
SolrHttpClientBuilder krb5HttpClientBuilder = krbBuilder.getHttpClientBuilder(java.util.Optional.empty());
HttpClientUtil.setHttpClientBuilder(krb5HttpClientBuilder);
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(HttpClientUtil.PROP_FOLLOW_REDIRECTS, false);
CloseableHttpClient httpClient = HttpClientUtil.createClient(params);

SolrClient client = solrClientBuilder.withHttpClient(httpClient).build();

关于solr - 使用 Solrj Api 和 Kerberized Solr 创建 Solr 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48922719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com