Spring数据Elasticsearch @Field boolean在映射中创建两个字段

时间:2016-11-17 06:59:10

标签: elasticsearch spring-data-elasticsearch elasticsearch-mapping

我在弹性搜索实体中遇到了布尔字段的一个问题 在我拥有的实体中,存在一个布尔字段

@Field(type = FieldType.Boolean)
private boolean isClosed;

当我看到映射时,它会创建两个映射,如下所示。

 "isClosed": {
    "type": "boolean"
},
"closed": {
    "type": "boolean"
}

我试图找出为什么它会创建这样的映射,任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

原因很可能是违反惯例。

公约:

private boolean closed;

public boolean isClosed() {
   return closed; 
}

因此它将isClosed作为一个变量,但也因为你很可能有一个isClosed()getter而导致闭合作为弹性变量。

您的文档顶层有@Mapping(mappingPath ="xxx")吗?这将基于会话名称覆盖任何@Field和索引。