Spring-data-elasticsearch @CompletionField不会创建映射类型Completion

问题描述 投票:0回答:1

我在实体中使用的是Spring Data Elasticsearch(4.0.1 RELEASE)中的注释@CompletionField,但看起来ElasticSearch索引是用错误的映射创建的。

实体

@Document(indexName="address")
public class Address {
    @CompletionField
    private String cityName;
}

存储库

@Service
public interface AddressRepository extends ElasticsearchRepository<Address, String> {
}

通过调用repository.save(address)自动创建索引

elasticsearch映射的片段

"cityName":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}}

如您所见,缺少“完成”类型(请参见https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html#completion-suggester)。

我错过了什么吗?

spring-data-elasticsearch
1个回答
0
投票

@CompletionField必须是Completion类型:

@Document(indexName="address")
public class Address {

    @CompletionField
    private Completion cityName;

}

您可能要检查test code此功能

© www.soinside.com 2019 - 2024. All rights reserved.