使用solrj api和kerberized solr创建solr客户端



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

但是solrj api jar在HttpClientUtil类中没有函数setConfigurer。我正在使用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删除。

>

但仍然没有使用新的方法来创建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();

最新更新