2016-04-23 16 views
2

Ich habe einfache Frage. Ich indexiere JSON-Dateien, die mehrere Felder enthalten, in Elasticsearch. Wie sagt ElasticSearch zu ignorieren (nicht indizieren und speichern sie überhaupt) Gruppe von definierten Feldern aus der eingehenden Datei ODER nur mit definierten Gruppe von Feldern arbeiten? Ist dies mit dem Mapping möglich?Elasticsearch - Felder aus Indizierung Dokument ignorieren

Zum Beispiel: Ich habe JSON-Dateien wie folgen aus:

{ 
    "id": 123456789, 
    "name": "Name value", 
    "screenName": "Nick name", 
    "location": "Location value", 
    "description": "Description text", 
    "url": "url value", 
    "anotherField": 456789, 
    "status": null, 
    "anotherField2": "9AE4E8", 
    "color": "333333", 
    ....... 
} 

Und jetzt möge ich Elasticsearch funktioniert nur mit Feldern (zum Beispiel) „id, Namen, Beschreibung, Standort, Status, url“ und ingnore andere Felder.

Irgendwelche Hilfe? Vielen Dank.

+0

Wie laden Sie diese Dokumente in ES? Über Logstasch? – Val

+0

Ich sende sie von einer anderen JAVA-Anwendung, indem ich HttpClient eins nach dem anderen benutze. – user1827257

Antwort

1

Wenn Sie die Daten in ein Json serialisiert ein DTO (POJO) verwenden, können Sie die Felder markieren, die Sie nicht wollen, zu indizieren mit @Jsonignore Anmerkung, wenn Sie Jackson Serializer/desrializer verwenden.

zB: @JsonIgnore private Date creationDate;

Paket com.fasterxml.jackson.annotation;

Verwandte Themen