Запрос Elasticsearch для фильтрации количества по совокупности - PullRequest
0 голосов
/ 03 сентября 2018

Я пишу запрос для подсчета документов, сгруппированных по modifyDateTime. Этот запрос работает нормально, как показано ниже

{
    "aggs" : {
        "types_count" : { 
          "value_count" : { "field" : "id" }
        },
        "group_by_status": {
          "terms": {
            "field": "status.keyword"
          }
        }
    }
}

Этот запрос дает мне правильные сегменты, как показано ниже

"buckets": [
        {
          "key": "STARTED",
          "doc_count": 579873
        },
        {
          "key": "SENT",
          "doc_count": 363026
        },

Теперь наш процесс таков, что после запуска его состояние запускается, затем идет его отправка, затем идет AWATING_RESPONSE, затем он переходит в состояние «ЗАВЕРШЕНО», и каждый раз, когда процесс переходит в следующее состояние, его версия увеличивается.

Таким образом, по существу, с помощью вышеприведенного запроса я считаю все процессы, находящиеся в другом состоянии, но хитрость здесь в том, что запущенный процесс также считается в SENT, поскольку это тот же процесс с другой версией.

Теперь, как я хочу создать запрос, это предоставить мне счетчик для всех различных заявленных, но он должен учитывать только последнюю версию, а не все версии.

Я пробовал что-то вроде ниже

{
    "aggs" : {
        "types_count" : { 
          "value_count" : { "field" : "id" }
        },
        "aggs" : {
          "max_version" : { "max" : { "field" : "version" } }
        },
        "group_by_status": {
          "terms": {
            "field": "status.keyword"
          }
        }
    }
}

но это дает мне эту ошибку

"root_cause": [
      {
        "type": "named_object_not_found_exception",
        "reason": "[7:27] unable to parse BaseAggregationBuilder with name [max_version]: parser not found"
      }
    ]

Каким образом это может быть достигнуто?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...