是否可以将弹簧数据实体字段映射到elasticsearch中的另一个字段?

时间:2014-12-24 15:49:47

标签: spring-data-elasticsearch

我有这个型号:

public class Foo{
    @Field(type = FieldType.String, store = true)
    String color;
}

现在它映射到elasticsearch文档中的字段“color”。我可以将它映射到另一个字段:“shirtColor”?也许通过注释?

1 个答案:

答案 0 :(得分:0)

spring-data-elasticsearch使用Jackson Object Mapper将POJO序列化为json。如果要更改存储在弹性搜索中的字段名称,可以使用@JsonProperty属性。

public class Foo{
   @Field(type = FieldType.String, store = true)
   @JsonProperty("shirtColor")
   String color;
}

但是,在从弹性搜索中查询数据时,您将失去使用findBy*方法的好处,并且您必须编写自己的自定义查询来获取数据。