elasticsearch - Spring Data Elasticsearch 字段映射

标签 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。你知道我如何绘制这个字段吗?看来问题出在大写上,但不幸的是我无法更改文档结构。

你能帮忙吗?

谢谢。

最佳答案

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

}

关于elasticsearch - Spring Data Elasticsearch 字段映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466561/

相关文章:

arrays - Elasticsearch中的排序数组类型

performance - 在 Elasticsearch 中使用过滤器搜索别名非常慢

elasticsearch - spring-data-elasticsearch-没有配置的节点可用

Elasticsearch 和 SpringData : FindAll and OrderBy

java - Spring Boot 1.5.1 和 Elasticsearch 5.4

elasticsearch - 在 Spring Batch 中使用 Elasticsearch java config 客户端

使用 TransportCilent 的 Java ElasticSearch 示例

考虑文档范围内的日期的 ElasticSearch 日期直方图聚合

spring - createIndex = true不会在Elasticsearch中创建索引映射

java - Spring Data Elasticsearch 找不到 geo_point 字段