使用 Solrj Api 和 Kerberized Solr 创建 Solr 客户端
Creating Solr client using Solrj Api with Kerberized Solr
我正在尝试使用 solrj api 为 kerberised solr 创建一个 solr 客户端。并且根据 solrj 的文档,需要在代码中设置 HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
。
但是solrj api jar 没有HttpClientUtil
class 里面的函数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 开始删除。
但是 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();
我正在尝试使用 solrj api 为 kerberised solr 创建一个 solr 客户端。并且根据 solrj 的文档,需要在代码中设置 HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
。
但是solrj api jar 没有HttpClientUtil
class 里面的函数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 开始删除。
但是 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();