spring data elasticsearch字段映射

时间:2017-01-04 14:43:51

标签: elasticsearch spring-data-elasticsearch

我的文档结构设计糟糕:

{
  "_index": "items",
  "_type": "item",
  "_id": "CD5D8F6516A88805FA826C10777B1750D9AAF5DA9CDD8E264757AB7EEC22B1EB",
  "_score": 1,
  "_source": {
  "title": "Textverständnis 5",
  "active": true,
  "successorId": null,
  "metadata": {
    "Fach": "DE",
    "Kompetenz": "Les",
    "code": "C_SX_DE_Les_A0016_00149_V00",
     ...
   }
  }
}

我想从上面的文档中检索标题 Fach 代码

@Document(indexName = "items", type = "item")
@Data
public class Item {

   @Id
   private String id;
   private String title;
   private Metadata metadata;

   @Data
   static class Metadata {
     private String Fach;
     private String code;
   }

}

检索标题代码是可以的,但 Fach 字段返回null。你知道我怎么能映射这个字段?似乎问题是大写的,但不幸的是我无法改变文档结构。

你可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:1)

使用Jackson的@JsonProperty注释解决,如:

@Document(indexName = "items", type = "item")
@Data
public class Item {

   @Id
   private String id;
   private String title;
   private Metadata metadata;

   @Data
   static class Metadata {

     @JsonProperty("Fach")
     private String subject;
     private String code;
   }

}