나는 Mongo, Elasticsearch 및 Spring Boot를 모두 사용하는 프로젝트를 시작했습니다.Spring 데이터 MongoDb와 Elasticsearch 사이의 충돌
두 기술 중 하나만 사용하면 프로젝트가 올바르게 작동합니다. 그러나 둘 다 함께, 그들은 충돌합니다. 나는 내 문제와 비슷한 것으로 보이는이 특별한 기사를 보았다. https://jira.spring.io/browse/DATAES-57 그래서 시도해 보니 문제가 아직 남아 있습니다.
나는이 메인 클래스
@EnableAutoConfiguration(exclude = MongoRepositoriesAutoConfiguration.class)
@EnableMongoRepositories(basePackages = "com.searchizi.mongo.repository")
@EnableElasticsearchRepositories(basePackages = "com.searchizi.elasticsearch.repository")
@ComponentScan
public class Application implements CommandLineRunner { … }
하여 예외 추적 클래스 SearchiziUser
는 com.searchizi.mongo.model
패키지에이
인 단축 형태를 입었다. 그것은 Elasticsearch 스캔 경로에 없습니다.
Caused by: java.lang.IllegalArgumentException: Unable to identify index name. SearchiziUser is not a Document. Make sure the document class is annotated with @Document(indexName="foo")
at org.springframework.util.Assert.isTrue(Assert.java:65)
at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.getPersistentEntityFor(ElasticsearchTemplate.java:869)
at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.createIndexIfNotCreated(ElasticsearchTemplate.java:684)
at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.createIndex(ElasticsearchTemplate.java:135)
at org.springframework.data.elasticsearch.repository.support.AbstractElasticsearchRepository.createIndex(AbstractElasticsearchRepository.java:80)
at org.springframework.data.elasticsearch.repository.support.AbstractElasticsearchRepository.<init>(AbstractElasticsearchRepository.java:72)
at org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository.<init>(SimpleElasticsearchRepository.java:36)
각 저장소 유형에 대한 검색은 분리되어야하지만 분명히 아닙니다. 어떤 생각을 해야할지?
덕분에 내가 예를 들어 프로젝트를 만들고 https://jira.spring.io/에 대한 링크를 첨부합니다 해결 찾아보기/DATAES-136 – EvilJinious1