Elasticseach,忽略字段

时间:2016-04-22 14:26:39

标签: elasticsearch

好的,我的文档中的数据包括以下内容:

 "validanswers": {
    "10": "Option 10",
    "11": "Option 11",
    "12": "Option 12",
    "90": "Option 90",
    "98": "Option 98",
    "99": "Option 99",
    "01": "Option 01",
    "07": "Option 07",
    "07.1": "Option 07.1",
    "03": "Option 03",
    "12.1": "Option 12.1",
    "05": "Option 05",
    "02.4": "Option 02.4",
    "07.2": "Option 07.2",
    "06": "Option 06",
    "12.2": "Option 12.2",
    "04": "Option 04",
    "02.2": "Option 02.2",
    "02.1": "Option 02.1",
    "12.3": "Option 12.3",
    "02.3": "Option 02.3",
    "12.99": "Option 12.99",
    "04.1": "Option 04.1",
    "02": "Option 02",
    "12.4": "Option 12.4",
    "09": "Option 09",
    "08": "Option 08"
  },

我想要做的是,直接来自elasticsearch,因为文档被索引是完全忽略'validanswers'的整个结构。我不需要数据,我正在重新索引一些旧的数据,所以我们可以升级到Elasticsearch 2.3.1,它不喜欢字段名称中的点(原因很明显)。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您应该可以通过将enabled映射参数指定为false来实现此目的。

示例:

PUT test
PUT test/test/_mapping
{
    "test" : {
        "properties": {
            "validanswers" : {
                "enabled" : false
            }
        }
    }
}
put test/test/1
{ 
    "validanswers": {
    "10": "Option 10",
    "11": "Option 11",
    "12": "Option 12",
    "90": "Option 90",
    "98": "Option 98",
    "99": "Option 99",
    "01": "Option 01",
    "07": "Option 07",
    "07.1": "Option 07.1",
    "03": "Option 03",
    "12.1": "Option 12.1",
    "05": "Option 05",
    "02.4": "Option 02.4",
    "07.2": "Option 07.2",
    "06": "Option 06",
    "12.2": "Option 12.2",
    "04": "Option 04",
    "02.2": "Option 02.2",
    "02.1": "Option 02.1",
    "12.3": "Option 12.3",
    "02.3": "Option 02.3",
    "12.99": "Option 12.99",
    "04.1": "Option 04.1",
    "02": "Option 02",
    "12.4": "Option 12.4",
    "09": "Option 09",
    "08": "Option 08"
    }
}

GET test/_search

<强>结果:

"hits": [
         {
            "_index": "test",
            "_type": "test",
            "_id": "1",
            "_score": 1,
            "_source": {
               "validanswers": {
                  "10": "Option 10",
                  "11": "Option 11",
                  "12": "Option 12",
                  "90": "Option 90",
                  "98": "Option 98",
                  "99": "Option 99",
                  "01": "Option 01",
                  "07": "Option 07",
                  "07.1": "Option 07.1",
                  "03": "Option 03",
                  "12.1": "Option 12.1",
                  "05": "Option 05",
                  "02.4": "Option 02.4",
                  "07.2": "Option 07.2",
                  "06": "Option 06",
                  "12.2": "Option 12.2",
                  "04": "Option 04",
                  "02.2": "Option 02.2",
                  "02.1": "Option 02.1",
                  "12.3": "Option 12.3",
                  "02.3": "Option 02.3",
                  "12.99": "Option 12.99",
                  "04.1": "Option 04.1",
                  "02": "Option 02",
                  "12.4": "Option 12.4",
                  "09": "Option 09",
                  "08": "Option 08"
               }
            }
         }
      ]