перейти с 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()? Заранее спасибо.