Создание 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 указанным выше способом

472   1  

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

    Ничего не найдено.