2017-01-04 3 views
1

Ich habe eine schlecht gestaltete Dokumentstruktur:Federdaten Elasticsearch Feldzuordnung

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

Ich mag würde die Titel, Fach und Code aus dem obigen Dokument abzurufen.

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

} 

Abrufen der Titel, Code ok, aber die Fach Feld null zurück. Weißt du, wie ich dieses Feld abbilden könnte? Es scheint das Problem mit dem Großbuchstaben zu sein, aber leider kann ich die Dokumentstruktur nicht ändern.

Können Sie mir helfen?

Danke.

Antwort

1

wurde mit Jackson @JsonProperty Anmerkung wie gelöst:

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

} 
Verwandte Themen