/ / Elasticsearch che restituisce JSON non valido - json, elasticsearch

Elasticsearch restituisce JSON non valido - json, elasticsearch

Ho un problema interessante in Elasticsearch. Durante l'esecuzione di ricerche restituisce json non valido, in modo tale che quando provo a eseguire, JSON.parse(response) provoca un errore di analisi (Node.js).

Ecco come si presentano i dati di risposta:

{
"took":5,
"timed_out":false,
"_shards": {
"total":5,
"successful":5,
"failed":0
},
"hits": {
"total":28,
"max_score": 1.1264253,
"hits": [
{
"_index": "myindex",
"_type": "v1",
"_id":"AUsTvTc0HrKvNpcAkwza",
"_score": 1.1264253,
"_source": {
"term":"Value"
},
},
{
"_index": "myindex",
"_type": "v1",
"_id":"BRxvTMggf5NTMnxwzalF",
"_score": 0.1328153,
"_source": {
"term":"Other Value"
},
}
]
}
}

Come noterai dopo il _source proprietà c'è una virgola, anche se è l'ultima proprietà in quell'oggetto.

Per poter analizzare questo devo eseguire il seguente codice:

var json = response.replace(/,s+}/g, "}");
json = JSON.parse(json);

Quindi analizzerà, ma questo è semplicemente un cerotto. Quello che non riesco a capire è PERCHÉ Elasticsearch sta restituendo il mio JSON in quel modo?

Ogni aiuto è molto apprezzato!

Eric

risposte:

0 per risposta № 1

Penso che questo sia un problema simile a questo È un bug noto e appare quando si indicizza erroneamente il documento JSON. La correzione qui sarebbe quella di rimuovere quel documento e indicizzarlo nuovamente correttamente.