Vorrei specificare un analizzatore, denominarlo e utilizzarlo in un mapping durante la creazione di un indice. Mi sono perso, la mia istanza ES mi restituisce sempre un messaggio di errore.Come specificare un analizzatore durante la creazione di un indice in ElasticSearch
Questo è, più o meno, quello che mi piacerebbe fare:
"settings": {
"mappings": {
"alfedoc": {
"properties": {
"id": { "type": "string" },
"alfefield": { "type": "string", "analyzer": "alfeanalyzer" }
}
}
},
"analysis": {
"analyzer": {
"alfeanalyzer": {
"type": "pattern",
"pattern":"\\s+"
}
}
}
}
Ma questo non sembra funzionare; l'istanza ES mi restituisce sempre un errore come
MapperParsingException[mapping [alfedoc]]; nested: MapperParsingException[Analyzer [alfeanalyzer] not found for field [alfefield]];
Ho provato a mettere il ramo "analysis"
del dizionario in diversi luoghi (all'interno della mappatura, ecc), ma senza alcun risultato. Immagino che un esempio completo funzionante (che non riuscivo a trovare fino ad ora) mi avrebbe aiutato anche io. Probabilmente mi manca qualcosa piuttosto di base.
Sì, in effetti, ho dimenticato che lo scorso tutore in "Impostazioni". Quindi "impostazioni" e "mappature" dovrebbero essere 2 blocchi separati e "analisi" dovrebbe essere inclusa nel blocco "impostazioni". –
Ottimi collegamenti agli esempi, grazie. – pulkitsinghal
Grazie per i collegamenti, ho trovato quello di cui avevo bisogno! Ma il punto in cui la mappatura effettivamente specifica quali analizzatori utilizzare per una particolare proprietà è quello che ho avuto il tempo più difficile per trovare esempi di. Sarebbe una grande aggiunta alla tua risposta;) –