У меня есть «события» (например, клики на веб-сайтах) документов в индексе. Теперь я хочу вычислить соотношение между событиями с именем = 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 "сколько-кликов-на-разговор" не отображается в выводе? Мы очень ценим любую помощь!
Заранее спасибо
Антон