Elastic Search中FieldType的用途是什么?

时间:2017-10-31 17:24:23

标签: elasticsearch

简介

当我使用以下注释时,我遇到了一个奇怪的弹性搜索问题:

@Field(type = FieldType.Date, index = not_analyzed)

并尝试使用弹性弹性搜索JPA存储库插入年份(例如1000)的日期。

请参阅:What are elastic searches max and min dates by default?

通过将FieldType更改为String,它解决了我的问题,并且在极端年份我没有得到一个奇怪的错误。

我的问题

FieldType枚举的目的是什么?我们将它用于什么?

public enum FieldType {
    String,
    Integer,
    Long,
    Date,
    Float,
    Double,
    Boolean,
    Object,
    Auto,
    Nested,
    Ip,
    Attachment;

    private FieldType() {
    }
}

我阅读了弹性搜索的文档,但我并不了解其用途。

1 个答案:

答案 0 :(得分:1)

弹性搜索支持多种数据类型,Spring FieldType 包含允许的ElasticSearch数据类型的枚举。它指定弹性搜索在存储时应该以哪种数据类型映射值。

例如

@Field(type = FieldType.String, index = not_analyzed)
private String name;

以上代码表示ElasticSearch应将名称字段存储为“text”

ElasticSearch data-types