0

我已将 c#(NEST)中 PoCo 中的 CompanyName 字段类型从字符串修改为 int(仅用于测试)。第一件事是它没有反映在类型的映射中。它仍然在那里显示字符串

    "properties": {
       "AddressNumber": {
          "type": "string"
       },
       "City": {
          "type": "string"
       },
       "CompanyName": {
          "type": "string"
       },
       "ContactName": {
          "type": "string"
       },

它确实允许我保存 CompanyName 的整数值。在惊奇中,数据也显示为 int。

ES 中的上一个文档

             {  "CompanyName": "1231",
               "ContactName": "sdfsdf",
               "City": "Schenectady"
             }

将字段类型更改为 int 后上次保存的文档

                 { "CompanyName": 1231,
                   "ContactName": "shivang",
                   "City": "Leeds"
                 }

它可以很好地使用字符串和 int 值进行搜索,如果我们尝试在其中保存一些字符串,它会将 CompanyName 显示为 0(这很好)。但为什么它没有正确显示映射?

注意:我没有重新创建索引。它是现有的索引

4

1 回答 1

1

正如@Rob 在此处和此SO 问题中所指出的那样,使用零停机时间更改映射将彻底解释这一点。

我强烈推荐阅读默认映射动态映射,尤其是动态模板。我发现这真的可以帮助我保持我的代码与属性或映射代码无关,让我的 poco 成为 poco 的!

于 2015-05-14T10:50:46.117 回答