Динамическое создание имени индексов в Elasticsearch с использованием Spring-Data Elasticsearch

У меня есть случай, когда нужно создавать индексы в месяц в Elasticsearch. Идея состоит в том, чтобы создавать индексы на ежемесячной основе, чтобы их было легко обслуживать и их можно было удалить по истечении срока. Для этого я использовал подпружиненный пакет и у меня есть ежемесячная работа, которая будет создавать индексы на ежемесячной основе. Для Elasticsearch -Java интеграция Я использовал реализацию Spring-Data Elasticsearch. Проблема, с которой я сталкиваюсь сейчас, заключается в том, что я не могу понять, как предоставить динамическое имя для индекса и сопоставления с помощью объекта Entity. Моя текущая реализация выполнена с учетом Единого индекса. Пожалуйста, найдите ниже код, который я использую для создания индексов

elasticsearchTemplate.createIndex(SingleChat.class);
elasticsearchTemplate.putMapping(SingleChat.class);
elasticsearchTemplate.refresh(SingleChat.class, true);

И SingleChat мой класс сущностей

@Document(indexName="singlemsgtemp_#{jobParameters['MONTH']}",type="singlechat")
public class SingleChat {
    @org.springframework.data.annotation.Id
    String Id;
    @Field(type = FieldType.String)
    String conservationId;
    @Field(type = FieldType.String)
    String from;
    @Field(type = FieldType.String)
    String to;
    @Field(type = FieldType.String)
    String msgContent; 
    @Field(type = FieldType.String)
    String sessionId;
    @Field(type = FieldType.Date, index = FieldIndex.not_analyzed, store = true, format = DateFormat.date_hour_minute_second_millis)
    Date postedDate;
    @Field(type = FieldType.Date, index = FieldIndex.not_analyzed, store = true, format = DateFormat.date_hour_minute_second_millis)
    Date expireDate;
}   

Но это не работает, как ожидалось. Я пробую и другие вещи. Но я открыт для предложений. Также не стесняйтесь комментировать мой текущий подход, будет ли он работать или нет. Пожалуйста, дайте мне знать, если потребуется дополнительная информация.

Ответы на вопрос(2)

Ваш ответ на вопрос