9

_timestampインデックスにプロパティを定義しようとしました。まず、インデックスを作成します

curl -XPUT 'http://elasticsearch:9200/ppe/'

サーバーからの応答:{"ok":true,"acknowledged":true}

次に、マッピングを定義しようとしました_timestamp

curl -Xput 'http://elasticsearch:9200/ppe/log/_mapping' -d '{
  "log": {
    "properties": {
      "_ttl": {
        "enabled": true
      },
      "_timestamp": {
        "enabled": true,
        "store": "yes"
      },
      "message": {
        "type": "string",
        "store": "yes"
      },
      "appid": {
        "type": "string",
        "store": "yes"
      },
      "level": {
        "type": "integer",
        "store": "yes"
      },
      "logdate": {
        "type": "date",
        "format": "date_time_no_millis",
        "store": "yes"
      }
    }
  }
}'

そして私はサーバーから回答として受け取ります

{
  "error": "MapperParsingException[No type specified for property [_timestamp]]",
  "status": 400
}

私のマッピングの何が問題になっていますか?

4

2 に答える 2

16

_ttlやなどの特別なフィールドは、オブジェクト_timestampと同じレベルで定義する必要があります。properties

curl -Xput 'http://elasticsearch:9200/ppe/log/_mapping' -d '{
    "log": {
        "_ttl": {
            "enabled": true
        },
        "_timestamp": {
            "enabled": true,
            "store": "yes"
        },
        "properties": {
            "message": {
                "type": "string",
                "store": "yes"
            },
            "appid": {
                "type": "string",
                "store": "yes"
            },
            "level": {
                "type": "integer",
                "store": "yes"
            },
            "logdate": {
                "type": "date",
                "format": "date_time_no_millis",
                "store": "yes"
            }
        }
    }
}
'
于 2012-12-06T13:36:17.690 に答える