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

Spring-data-elasticsearch @CompletionField does not create mapping type Completion

我在我的实体中使用来自 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}}}

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

我是不是漏掉了什么?

@CompletionField 的类型必须是 Completion:

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

    @CompletionField
    private Completion cityName;

}

您可能需要检查 test code 以了解此功能