Ok, moim elastisearch Używam następujące odwzorowanie dla indeksu:Jak zdefiniować mapowanie w elasticsearch, które nie akceptuje pól innych niż odwzorowane?
{
"mappings": {
"mytype": {
"type":"object",
"dynamic" : "false",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"published": {
"type": "date"
}
}
}
}
}
to działa. W rzeczywistości, jeśli umieściłem źle sformułowaną datę w polu "opublikowany", skarży się i nie powiedzie się. Również mam następującą konfigurację:
...
node.name : node1
index.mapper.dynamic : false
index.mapper.dynamic.strict : true
...
A bez odwzorowywania, nie mogę używać rodzaju. Problem polega na tym, że jeśli wstawić coś takiego:
{ "name": "boh58585", "adres": "hiohio", "opublikowanego": "2014-4-4", "test" : "hophiophop" }
z przyjemnością to zaakceptuje. Nie jest to zachowanie, którego oczekuję, ponieważ pole test
nie znajduje się w odwzorowaniu. Jak mogę ograniczyć pola dokumentu tylko do tych, które są w mapowaniu ???