我们有时间序列数据,然后使用ElasticSearch数据流
我正在使用springboot,具有以下依赖项
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>4.4.1</version>
</dependency>
Spring Data似乎因以下错误而停止工作:
Error Message: cannot create index with name [my_datastream_index_test], because it matches with template [my-datastream-index-template] that creates data streams only, use create data stream api instead
Caused by: ElasticsearchStatusException[Elasticsearch exception [type=illegal_argument_exception, reason=cannot create index with name [my_datastream_index_test], because it matches with template [my-datastream-index-template] that creates data streams only, use create data stream api instead]]
at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:178)
at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:2484)
at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:2461)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:2184)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:2154)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:2118)
at org.elasticsearch.client.IndicesClient.create(IndicesClient.java:152)
at org.springframework.data.elasticsearch.core.RestIndexTemplate.lambda$doCreate$0(RestIndexTemplate.java:86)
at org.springf
弹性Spring数据可以和数据流一起工作吗?我期望它是无缝的过渡。我错过了什么吗?
存储库Bean本身不会创建:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: Constructor threw exception; nested exception is RestStatusException{status=400} org.springframework.data.elasticsearch.RestStatusException: Elasticsearch exception [type=illegal_argument_exception, reason=cannot create index with name [my_datastream_index_test], because it matches with template [my-datastream-index-template] that creates data streams only, use create data stream api instead]; nested exception is ElasticsearchStatusException[Elasticsearch exception [type=illegal_argument_exception, reason=cannot create index with name [my_datastream_index_test], because it matches with template [my-datastream-index-template] that creates data streams only, use create data stream api instead]]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.lambda$instantiateClass$5(RepositoryFactorySupport.java:579)
at java.util.Optional.map(Optional.java:215)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.instantiateClass(RepositoryFactorySupport.java:579)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getTargetRepositoryViaReflection(RepositoryFactorySupport.java:544)
at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactory.getTargetRepository(ElasticsearchRepositoryFactory.java:74)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:325)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:323)
at org.springframework.data.util.Lazy.getNullable(Lazy.java:231)
at org.springframework.data.util.Lazy.get(Lazy.java:115)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:329)
at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactoryBean.afterPropertiesSet(ElasticsearchRepositoryFactoryBean.java:69)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 161 more
1条答案
按热度按时间o75abkj41#
首先,正如瓦尔所评论的,Spring Data Elasticsearch目前创建索引,但不创建数据流。
第二,根据错误消息,我假设数据流是由索引模板创建的,您需要阻止Spring Data Elasticsearch自动创建索引,您可以通过将
createIndex
值添加到实体类的@Document
注解中来做到这一点: