介绍
使用以下注释时, flex 搜索出现了一个奇怪的问题:@Field(type = FieldType.Date, index = not_analyzed)
并尝试使用spring flex 搜索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() {
}
}
我阅读了有关 flex 搜索的文档,但我并不真正了解其用法。
最佳答案
flex 搜索支持多种数据类型,Spring FieldType 保留允许的ElasticSearch数据类型的枚举。它指定在存储时 flex 搜索应在哪种数据类型中映射值。
例如
@Field(type = FieldType.String, index = not_analyzed)
private String name;
上面的代码意味着ElasticSearch应该将名称字段存储为“文本”
ElasticSearch data-types