Как подсчитать уникальные активы с определенной серьезностью в Elasticsearch?Elasticsearch aggregation

Ответить Пред. темаСлед. тема
Anonymous
 Как подсчитать уникальные активы с определенной серьезностью в Elasticsearch?

Сообщение Anonymous »

У меня есть следующие данные:

Код: Выделить всё

{
"_index": "index",
"_id": "...",
"_score": 4.512486,
"_source": {
"division": {
"name": "Ben",
"id": "678"
},
"summary": {
"severity": 2,
"last_issue_at": "...",
"first_issue_at": "...",
"issues_count": 1
},
"company": {
"id": "..."
},
"ingest_timestamp": "..",
"asset": {
"name": "Bus",
"vin": "123",
"id": "...",
"manufacturer": ...
},
"timestamp": "..."
}
{
"_index": "index",
"_id": "...",
"_score": 4.512486,
"_source": {
"division": {
"name": "Ben",
"id": "678"
},
"summary": {
"severity": 1,
"last_issue_at": "...",
"first_issue_at": "...",
"issues_count": 1
},
"company": {
"id": "..."
},
"ingest_timestamp": "..",
"asset": {
"name": "Bus",
"vin": "123",
"id": "...",
"manufacturer": ...
},
"timestamp": "..."
}

Цель: подсчитать уникальные объекты с уровнем серьезности 1 или 2. Если у объекта есть оба уровня серьезности, учитывайте только тот, который имеет уровень серьезности 1.
Вот мой вопрос:

Код: Выделить всё

{
"query": {
"bool": {
"must": [
{
"match": {
"company.id": "..."
}
},
{
"range": {
"timestamp": {
"gte": "...",
"lte": "..."
}
}
}
]
}
},
"runtime_mappings": {
"asset_id_and_vin": {
"type": "keyword",
"script": {
"source": "if (doc.containsKey('asset.vin')) { emit(doc['asset.id'] + ' ' + doc['asset.vin']) } else { emit(doc['asset.id'].value + ' ' + 'N/A') }"
}
}
},
"aggs": {
"asset_count": {
"cardinality": {
"field": "asset_id_and_vin"
}
},
"assets": {
"multi_terms": {
"terms": [
{
"field": "asset.name"
},
{
"field": "asset.vin",
"missing": "N/A"
},
{
"field": "division.name"
},
{
"field": "asset.id"
},
{
"field": "division.id"
}
],
"order": {
"earliest_date": "desc"
},
"size": 100
},
"aggs": {
"severity": {
"min": {
"field": "summary.severity"
}
},
"earliest_date": {
"min": {
"field": "summary.first_issue_at"
}
},
"latest_date": {
"max": {
"field": "summary.last_issue_at"
}
},
"issues": {
"sum": {
"field": "summary.issues_count"
}
},
"filtered_assets": {
"bucket_selector": {
"buckets_path": {
"min_severity": "severity"
},
"script": "params.min_severity == 1 || params.min_severity == 2"
}
},
"pagination": {
"bucket_sort": {
"size": 100,
"from": 0
}
}
}
}
}
}
Я добавил Bucket_selector, чтобы возвращать уровни серьезности, равные 1 или 2, а не обе. Однако при этом не учитываются активы, которые могут иметь обе степени серьезности, поскольку одновременно проверяется один документ. Как я могу изменить свой запрос, чтобы гарантировать, что актив учитывается только с уровнем серьезности 1, если он имеет оба уровня серьезности?
Будем очень признательны за любые советы или предложения по улучшению моего запроса. Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/786 ... sticsearch
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • C ++ STD :: Уникальные возвраты явно не уникальные результаты
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как подсчитать уникальные числа в массиве, не переставляя элементы массива?
    Anonymous » » в форуме C#
    0 Ответы
    59 Просмотры
    Последнее сообщение Anonymous
  • Вложенные агрегаты Elasticsearch с данными Spring elasticsearch 5.2
    Anonymous » » в форуме Elasticsearch aggregation
    0 Ответы
    1027 Просмотры
    Последнее сообщение Anonymous
  • Укажите конвейер приема Elasticsearch в данных Spring Elasticsearch
    Anonymous » » в форуме JAVA
    0 Ответы
    239 Просмотры
    Последнее сообщение Anonymous
  • Что случилось с elasticsearch/elasticsearch?
    Anonymous » » в форуме Php
    0 Ответы
    152 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Elasticsearch aggregation»