Изменить _mapping в Elastic Search показывает странное поведение
Я изменил тип поля CompanyName в PoCo в C# (NEST) со строки на int (только для тестирования). Во-первых, это не отражается в отображении типа. это все еще показывает строку там
"properties": {
"AddressNumber": {
"type": "string"
},
"City": {
"type": "string"
},
"CompanyName": {
"type": "string"
},
"ContactName": {
"type": "string"
},
Но это позволяет мне сохранить целочисленное значение CompanyName. Также в marvel данные отображаются как int.
Предыдущий документ в ES
{ "CompanyName": "1231",
"ContactName": "sdfsdf",
"City": "Schenectady"
}
Последний сохраненный документ после изменения типа поля на int
{ "CompanyName": 1231,
"ContactName": "shivang",
"City": "Leeds"
}
Он хорошо работает со значениями string и int. Если мы попытаемся сохранить в нем некоторую строку, он покажет CompanyName как 0 (что нормально). Но почему это не показывает отображение правильно?
ПРИМЕЧАНИЕ: я не воссоздал индекс. Это существующий индекс
1 ответ
Изменение сопоставления с нулевым временем простоя объяснит это полностью, как указано @Rob здесь и в этом вопросе SO.
Я настоятельно рекомендую ознакомиться с отображением по умолчанию, динамическим отображением и особенно динамическими шаблонами. Я считаю, что это действительно помогает мне сохранить мой код в чистоте от атрибутов или кода сопоставления, и пусть мое poco будет poco!