当我使用以下注释时,我遇到了一个奇怪的弹性搜索问题:
@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() {
}
}
我阅读了弹性搜索的文档,但我并不了解其用途。
答案 0 :(得分:1)
弹性搜索支持多种数据类型,Spring FieldType 包含允许的ElasticSearch数据类型的枚举。它指定弹性搜索在存储时应该以哪种数据类型映射值。
例如
@Field(type = FieldType.String, index = not_analyzed)
private String name;
以上代码表示ElasticSearch应将名称字段存储为“text”