【发布时间】:2020-11-23 11:41:12
【问题描述】:
我有这个实体:
@Data
@Document(indexName = "foo.user")
public class ElUser {
@Id
private String id;
@Field(type = FieldType.Text)
private String fullName;
}
还有这个存储库:
@Repository
interface ElasticsearchUserRepository extends ElasticsearchRepository<ElUser, String> {
List<ElUser> findAllByFullNameIsLike(String name);
}
而且效果很好。但我想使用这样的前缀(.withPathPrefix("foo")):
@EnableElasticsearchRepositories
@Configuration
public class ElasticsearchConfig extends AbstractElasticsearchConfiguration {
@Bean
@Override
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.withPathPrefix("foo")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
并将其从实体中移除:
@Document(indexName = "user")
但我得到一个例外:
org.springframework.data.elasticsearch.NoSuchIndexException: Index [foo] not found.; nested exception is [foo] ElasticsearchStatusException[Elasticsearch exception [type=index_not_found_exception, reason=no such index [foo]]]
【问题讨论】:
标签: spring spring-boot elasticsearch spring-data-elasticsearch