Elasticsearch Сортировать по Epoch MilliSeconds Timestamp - PullRequest
0 голосов
/ 11 марта 2020

У меня есть структура документа ES, как показано ниже.

"hits" : [
  {
    "_index" : "testindex",
    "_type" : "_doc",
    "_id" : "566d9a9d-62d4-4dcd-b3f3-c0598638fa43",
    "_score" : 1.0,
    "_source" : {
      "values" : {
        "isActive" : "false",
        "length" : 18.49,
        "latitude" : 33.69076,
        "accuracy" : 7
      },
      "metadata" : {
        "name" : "866425030270849",
        "type" : "BAT-M1",
        "ts" : "1572493157000"
      }
    }
  },

Для сортировки индекса ES на основе metadata.ts (поле даты в формате 'epoch_millis'). Я использую следующий запрос для получения последней записи.

curl -X GET "https://localhost:9200/testindex/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query" : {
    "term" : { "metadata.name" : "866425030270849" }
},
"sort": [
    { "devicedata.metadata.ts": "desc" }
],
"size": 1

} '

Но я не могу отсортировать последние записи. Пожалуйста, помогите!

devicedata в запросе является вложенным объектом метаданных.

...