spring数据elasticsearch字段映射

spring data elasticsearch field mapping

我的文档结构设计得很糟糕:

{
  "_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",
     ...
   }
  }
}

我想从以上文件。

@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;
   }

}

检索 titlecode 没问题,但是 Fach 字段 returns 空。你知道我怎么映射这个字段吗?看来问题出在大写,但不幸的是我无法更改文档结构。

你能帮忙吗?

谢谢。

已使用 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;
   }

}