【问题标题】:Spring-data-elasticsearch @CompletionField does not create mapping type CompletionSpring-data-elasticsearch @CompletionField 不创建映射类型 Completion
【发布时间】:2020-06-12 07:53:17
【问题描述】:

我在我的实体中使用来自 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)自动创建的

来自弹性搜索映射的片段

"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】:

    @CompletionField 必须是 Completion 类型:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 2019-04-09
      • 2017-05-18
      • 2015-10-19
      • 1970-01-01
      • 2021-12-12
      • 2021-04-02
      • 1970-01-01
      相关资源
      最近更新 更多