diff --git a/jetlinks-components/elasticsearch-component/src/main/java/org/jetlinks/community/elastic/search/index/strategies/TimeByDayElasticSearchIndexStrategy.java b/jetlinks-components/elasticsearch-component/src/main/java/org/jetlinks/community/elastic/search/index/strategies/TimeByDayElasticSearchIndexStrategy.java new file mode 100644 index 00000000..3ef3e5f1 --- /dev/null +++ b/jetlinks-components/elasticsearch-component/src/main/java/org/jetlinks/community/elastic/search/index/strategies/TimeByDayElasticSearchIndexStrategy.java @@ -0,0 +1,32 @@ +package org.jetlinks.community.elastic.search.index.strategies; + +import org.hswebframework.utils.time.DateFormatter; +import org.jetlinks.community.elastic.search.index.ElasticSearchIndexProperties; +import org.jetlinks.community.elastic.search.service.reactive.ReactiveElasticsearchClient; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; +import java.util.Date; + +/** + * 按日期来划分索引策略 + * + * @author caizz + * @since 1.0 + */ +@Component +public class TimeByDayElasticSearchIndexStrategy extends TemplateElasticSearchIndexStrategy { + + public TimeByDayElasticSearchIndexStrategy(ReactiveElasticsearchClient client, ElasticSearchIndexProperties properties) { + super("time-by-day", client, properties); + } + + @Override + public String getIndexForSave(String index) { + LocalDate now = LocalDate.now(); + String idx = wrapIndex(index); + return idx + "_" + now.getYear() + + "-" + (now.getMonthValue() < 10 ? "0" : "") + now.getMonthValue() + + "-" + (now.getDayOfMonth() < 10 ? "0" : "") + now.getDayOfMonth(); + } +}