Ok, a mio elasticsearch Sto usando il seguente mappatura per un indice:Come definire una mappatura in elasticsearch che non accetta campi diversi da quelli mappati?
{
"mappings": {
"mytype": {
"type":"object",
"dynamic" : "false",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"published": {
"type": "date"
}
}
}
}
}
funziona. Infatti se metto una data malformata nel campo "pubblicato" si lamenta e fallisce. Anche io ho la seguente configurazione:
...
node.name : node1
index.mapper.dynamic : false
index.mapper.dynamic.strict : true
...
E senza la mappatura, non posso davvero utilizzare il tipo. Il problema è che se inserisco qualcosa di simile:
{ "name": "boh58585", "indirizzo": "hiohio", "pubblicato": "2014/04/04", "test" : "hophiophop" }
lo accetterà volentieri. Quale non è il comportamento che mi aspetto, perché il campo test
non è nella mappatura. Come posso limitare i campi del documento solo a quelli presenti nella mappatura ???