2014-09-16 2 views
9

Ich versuche, ein JSON-Feld in der elastischen Suche zu indizieren, ich habe es externe Zuordnung gegeben, dass dieses Feld als Zeichenfolge und nicht JSON behandelt werden soll, auch Indexierung ist nicht dafür erforderlich, also keine Notwendigkeit, es zu analysieren. Die Zuordnung hierfür ist folgendeJSON-Feld als String in der elastischen Suche speichern?

"json_field": { 
    "type": "string", 
    "index": "no" 
}, 

Noch zum Zeitpunkt der Indizierung wird dieses Feld analysiert zu werden und aus diesem Grund bin ich immer MapperParsingException

in Kurz Wie wir json als String in Elasticsearch speichern ohne analysiert zu werden?

Antwort

14

habe es endlich, wenn Sie json als String speichern möchten, ohne es zu analysieren, sollte die Zuordnung wie diese

"json_field": { 
    "type": "object", 
    "enabled" : false 
}, 

sein Die aktivierte Flag Parsen deaktivieren können und Indizierung vollständig ein benanntes Objekt. Dies ist nützlich, wenn ein Teil des JSON-Dokuments einen beliebigen JSON enthält, der nicht indiziert oder dem Mapping hinzugefügt werden sollte.