перейти с HighRestLevelClient на клиент Java API (ElasticSearchClient)

Доброе утро. Мы планируем выполнить обновление до Springboot3.0 и активно используем устаревший клиент HighRestLevelClient, который удален в Springboot3 и заменен новым клиентом Java API с именем ElasticSearchClient. однако мы сталкиваемся с некоторыми проблемами, поскольку между двумя клиентами существует большая задержка. Например, наше приложение создает индексы вместе с политиками ilm (управление жизненным циклом индекса) следующим образом:

      private static void createIlmPolicy(RestHighLevelClient elasticClient, ElasticProperties elasticProperties) throws IOException {

    if (elasticProperties.getIndexPolicies() != null) {
        IndexLifecycleNamedXContentProvider indexLifecycleNamedXContentProvider = new IndexLifecycleNamedXContentProvider();
        NamedXContentRegistry registry = new NamedXContentRegistry(indexLifecycleNamedXContentProvider.getNamedXContentParsers());

        for (IndexPolicy p : elasticProperties.getIndexPolicies()) {

            elasticClient.indexLifecycle().putLifecyclePolicy(
                    new PutLifecyclePolicyRequest(
                            LifecyclePolicy.parse(
                                    JsonXContent.jsonXContent.createParser(registry, LoggingDeprecationHandler.INSTANCE, jsonMapper.writeValueAsString(p.getPolicy())),
                                    p.getName()
                            )
                    ),
                    RequestOptions.DEFAULT
            );
        }
    }
}

Как мы можем сделать это с новым клиентом Java, зная, что в клиенте Java API больше нет методов indexLifecycle(), putLifecyclePolicy()? Заранее спасибо.

0 ответов

Другие вопросы по тегам