Как создать в elasticsearch несколько типов через Spring Data?
Как я понимаю, индекс в еластике — это наподобие имени базы данных, а тип это таблица, но когда создаю сущности в java то такая ошибка:
Rejecting mapping update to [xxx] as the final mapping would have more than 1 type: [aaa, bbb]
Если поменять имя индекса, то все работает, что может быть и какое есть решение?
Вот пример кода:
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @Data @AllArgsConstructor @NoArgsConstructor @Document(indexName = "xxx", type = "aaa") public class Temp1 { @Id private String id; private String name; private Long cost; }
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @Data @AllArgsConstructor @NoArgsConstructor @Document(indexName = "xxx", type = "bbb") public class Temp2 { @Id private Long id; private Boolean status; private Integer age; }
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; public interface Temp1Repo extends ElasticsearchRepository<Temp1, String> { }
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; public interface Temp2Repo extends ElasticsearchRepository<Temp2, String> { }
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'temp1Repo': Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: Rejecting mapping update to [xxx] as the final mapping would have more than 1 type: [aaa, bbb]
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів