2

次のようなマッピングでタイムスタンプを有効にできます。

"someType" as (
   "someField" typed StringType
) timestamp true

ただし、それを使用して検索するときにそれを取得できるようにするには、属性を に設定する"fields": ["_timestamp"]必要もあります。しかし、私がこれを行うと:storetrue

"someType" as (
   "someField" typed StringType,
   "_timestamp" typed LongType/DateType store true
) timestamp true

次に、それは返されません_search:

GET /myIndex/someType/_search 
{
  "fields": ["_timestamp"],
  "query" : {
     "match_all" : {}
    }
}

結果のマッピングは次のようになります。

"someType": {
    "dynamic": "dynamic",
    "_timestamp": {
       "enabled": true
    },
    "properties": {
        "_timestamp": {
          "store": "yes",
          "type": "long"
       }
    }

}

しかし、私はそれが次のようであるべきだと感じています:

"someType": {
    "dynamic": "dynamic",
    "_timestamp": {
       "enabled": true,
       "store": true
    },
    "properties": {
        "_timestamp": {
          "store": "yes",
          "type": "long"
       }
    }
    }

フィールドがそのマッピングのフィールドではなくプロパティに移動するようにelastic4s名前が付けられたフィールドの特別な処理がないため、Dslを使用してこれを行うことはできません..._timestamp

4

1 に答える 1