хочу удалить основанные на времени индексы для упругого поиска старше некоторых (скажем, 30) дней, используя математическое выражение даты в JAVA.
Попытка реализовать следующий подход в нашем приложении весенней загрузки с использованием TransaportКлиент, но получающий индекс не существует, исключение.
https://www.elastic.co/guide/en/elasticsearch/reference/current/date-math-index-names.html
Когда то же самое индексированное имя URI (которое передается в DELETE INDEX API) используется для поиска индекса с помощью запроса GET uri_encoded_index_name на kibana, Он показывает, что индекс существует.
Есть что-то, чего я упускаю?
Есть ли лучший способ сделать это без использования символов куратора и wilcard?
Фрагмент кода:
String indexName = "<" + indexNameStaticPart + "{now/d-30d{MMddYYYY}}>";
String encodedIndexName = UriEncoder.encode( indexName ).replace( "/", "%2F" );
AcknowledgedResponse response = client.admin().indices().delete( new DeleteIndexRequest( encodedIndexName ) ).actionGet();
encodedIndexName:% 3Cstring__string_string __% 7Bnow% 2Fd-30d% 7BMMddyyyy% 7D% 7D% 3E
кибана:
GET encodedIndexName
DELETE encodedIndexName