Ведра Elasticsearch по результатам агрегации - PullRequest
0 голосов
/ 01 марта 2020

Я использую ELK 7.x. Мне нужна гистограмма или гистограмма в Кибане по результатам агрегации. Поскольку это немного абстрактно для объяснения, ниже приведен эквивалент SQL запроса.

select count(*) as no_of_docs, doc_type 
from documents
group by doc_type

15     pdf
21     doc
17     txt
 1     ppt

Гистограмма или любой график, как показано ниже:

No of docs        Count of doc type 
(X-Axis)          (Y-Axis) 
1-10              1 [1 ppt occurrence in the 1-10 bucket]
11-20             2 [1 pdf, 1 txt occurrences in the 11-20 bucket]
21 and above      1 [1 doc occurrence in the 21 and above  bucket]

Это может быть не просто, но Я думаю, что это должно быть возможно.

1 Ответ

0 голосов
/ 01 марта 2020

Я придумал приведенное ниже отображение и документы и соответственно создал визуализатор Vertical Bar .

Отображение:

PUT my_docs
{
  "mappings": {
    "properties": {
      "doc_type":{
        "type": "keyword"
      }
    }
  }
}

Документы:

POST my_docs/_doc/1
{
  "doc_type": "pdf"
}

POST my_docs/_doc/2
{
  "doc_type": "pdf"
}

POST my_docs/_doc/3
{
  "doc_type": "pdf"
}

POST my_docs/_doc/4
{
  "doc_type": "jpeg"
}

POST my_docs/_doc/5
{
  "doc_type": "jpeg"
}

POST my_docs/_doc/6
{
  "doc_type": "txt"
}

POST my_docs/_doc/7
{
  "doc_type": "txt"
}

Образец запроса и ответа:

POST /_sql?format=txt
{
    "query": "select count(*) as no_of_docs, doc_type from my_docs group by doc_type"
}

  no_of_docs   |   doc_type    
---------------+---------------
2              |jpeg           
3              |pdf            
2              |txt            

Визуализатор Kibana:

Шаг 1:

Прежде всего, вам потребуется создать шаблон индекса. Вы можете проверить эту ссылку как это можно сделать.

В основном посетите Управление> Кибана> Шаблоны индексов и добавьте индекс, например my_docs

Шаг 2:

  • Нажмите кнопку Visualize в левой части Kibana
  • Как только вы это сделаете, вы увидите create new visualization
  • Вы увидите различные типы визуализатора, представленные вам, прокрутите вниз и выберите Vertical Bar визуализатор
  • Теперь вы должны выбрать индекс, к которому должен применяться этот визуализатор, т.е. индекс my_docs. Обратите внимание, что если вы не создали шаблон индекса, этот индекс не будет отображаться.
  • Обратите внимание на экран, по умолчанию он уже добавил doc_count в качестве оси Y, все, что вам нужно сделать, это настроить ось X
  • В разделе Buckets нажмите Добавить и выберите X- ось
  • Обратите внимание, что вы должны увидеть, что ось X выбрана, и появится поле Aggregation.
  • Выберите Terms и после этого выберите doc_type в разделе Field.
  • Теперь нажмите синюю кнопку запуска (она должна показывать Apply Changes при наведении на нее курсора) рядом с Panel Settings в верхней части этого раздела, где вы настраиваете поля.

Ниже показано, как выглядит изображение для оси X:

enter image description here

Обратите внимание, что ваш визуализатор готов. Ниже показано, как это выглядит в моей машине для приведенных выше образцов данных:

enter image description here

Дайте мне знать, если это поможет!

...