Агрегация Bucket_script при агрегации фильтров, не показывающих результаты - PullRequest
2 голосов
/ 13 апреля 2020

У меня есть «события» (например, клики на веб-сайтах) документов в индексе. Теперь я хочу вычислить соотношение между событиями с именем = x и событиями с именем = y. Сначала я использую agg «filters», чтобы разделить мои документы на два сегмента, а затем я использую агрегацию bucket_script для вычисления отношения, но результат этого не отображается в выходных данных ...

Вот мой запрос:

GET /_search 
{
  "query": { ... },
  "aggs": {
    "all_my_documents": {
      "filters": {
        "filters": {
          "all": { "match_all": {} }
        }
      }, 
      "aggs": {

        "bucket-aggregation-for-clicks-per-conversation": {
          "filters": {
            "filters": {
              "presentation-clicks": { "term" : { "name" : "presentation-anchor-click" }},
              "conversation-starts": { "term" : { "name" : "conversation-start" }}
            }
          }
        }, 
        "how-many-clicks-per-conversation": {
          "bucket_script": {
              "buckets_path": {
                  "my_clicks": "bucket-aggregation-for-clicks-per-conversation['presentation-clicks']>_count", 
                  "my_starts": "bucket-aggregation-for-clicks-per-conversation['conversation-starts']>_count"
              },
              "script": "params.my_clicks / params.my_starts"
          }
        }

      }
    }

  }
}

Запрос выполняется, и в результате я получаю два блока, но сценарий «сколько кликов за разговор», похоже, не запускается вообще, поскольку значение отсутствует в выводе:

...
"aggregations" : {
  "all_my_documents" : {
    "buckets" : {
      "all" : {
        "doc_count" : 5,
        "bucket-aggregation-for-clicks-per-conversation" : {
          "buckets" : {
            "conversation-starts" : {
              "doc_count" : 4
            },
            "presentation-clicks" : {
              "doc_count" : 1
            }
          }
        }
      }
    }
  }
}

Итак, почему мой bucket_script "сколько-кликов-на-разговор" не отображается в выводе? Мы очень ценим любую помощь!

Заранее спасибо

Антон

...