Создание Solr клиента с использованием Solrj Api с Kerberized Solr
Я пытаюсь создать solr-клиент, используя solrj api для kerberised solr. И согласно документации solrj , требуется установить HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer()); в коде.
Но jar API solrj не имеет функции setConfigurer внутри класса HttpClientUtil. Я использую нижеприведенную зависимость от maven.
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>7.2.1</version>
</dependency>
Можно ли создать solr-клиент с помощью new HttpSolrClient.Builder и включить kerberisation для чтения файла jaas.config, чтобы выполнить аутентификацию и авторизацию.
В настоящее время я создаю клиент solr, как показано ниже;
new HttpSolrClient.Builder("solrUrlString").build()
Но я не вижу возможности включить Krb5HttpClientConfigurer указанным выше способом
1 ответ:
" HttpClientUtil.метод setConfigurer был амортизирован с версии 6.0.0" solr-solrj " и окончательно удален с версии 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();
Comments