Spring Data Elasticsearch不会将空值写入插入的文档

问题描述

我有一个ES实体:

@Document(indexName = "company")
public class CompanyEntity {

  @MultiField(
      mainField = @Field(type = Text,name = "alias_name"),otherFields = {@InnerField(suffix = "keyword",type = Keyword,nullValue = "NULL")})
  @Nullable
  private String aliasName;

 ...
}

如果我创建一个CompanyEntity对象并且不提供aliasName,我的期望是Spring Data Elasticsearch将为Nullable的实体属性保留空值。但这似乎不是事实,即使我在nullValue批注中为InnerField提供了一个值。

我确定我没有正确配置注释或其他内容,但是我真的很想使用Elasticsearch的{​​{1}}参数作为详细的here。但是首先,我需要了解如何使SDE保留空值。

谢谢您的时间!

解决方法

由于无法为空值建立索引或搜索空值,因此通常不会由Spring Data Elasticsearch存储它们,从而减小了索引文档的大小。

尽管如此,this issue还是增加了存储空值的可能性,它将包含在4.1.RC1版本中,该版本将于明天发布。

编辑::4.1.0.RC1已发布