2014-05-12 20 views
6

I folow un articolo su ElasticSearch e provo a mettere questo esempio sul mio motore.ElasticSearch MapperParsingException mapping degli oggetti

esempio:

curl -XPUT 'elasticsearch:9200/twitter/tweet/1' -d '{ 
    "user": "david", 
    "message": "C'est mon premier message de la journée !", 
    "postDate": "2010-03-15T15:23:56", 
    "priority": 2, 
    "rank": 10.2 
}' 

provo a trasmettere queste informazioni in un file di bash (io uso Putty), ma ho questa errror:

{"error":"MapperParsingException[object mapping for [tweet] tried to parse as object, 
    but got EOF, has a concrete value been provided to it?]","status":400} 

Cerco anche di vedere uno errore "cat -e tweet.sh", ma non capisco perché ho questo errore.

Grazie in anticipo.

+0

Pubblica la mappatura dell'indice .. – BlackPOP

+0

Penso che sia perché la mappatura del tipo non corrisponde alla struttura del documento memorizzata. – atott

+0

C'è anche una singola citazione nel tuo input che potrebbe essere rovinato. Quindi, invece di inviare l'oggetto completo, invia solo '{ "utente": "david", "messaggio": "C" –

risposta

8

È un tipo non corrispondente. Sto affrontando anche questo problema. Sembra che tu cerchi di indicizzare un valore in un oggetto mappato JSON. vale a dire, è indicizzato uno volta qualcosa di simile:

{ 
    "obj1": { 
    "field1": "value1" 
    } 
} 

e quindi indice di questo:

{ 
    "obj1": "value" 
} 

Controllare la mappatura esistente tramite elasticsearch:9200/twitter/_mapping e vedrete se quella del campo è stato indicizzato come object

Problemi correlati