Sidebar and Timeline API
Параметры SME запросов
| Name | Type | Description | Default value | 
|---|---|---|---|
| calculateStats | boolean | Флаг для расчета статистики и таймлайна. | false | 
| sidebarHandler | string | Обработчик для расчета sidebar. Может принимать значения java и aggs. Если указано java, sidebar возвращается вместе с результатом запроса, если aggs, для расчета необходимо использовать эндпоинт Sidebar. | java | 
| timelineHandler | string | Обработчик для расчета timeline.  Может принимать значения java и aggs.  Если указано java, timeline возвращается вместе с результатом запроса, если aggs, для расчета необходимо использовать эндпоинт Timeline. | java | 
Validate
Выполняет проверку query и возвращает возможно ли использование агрегаций для расчета sidebar и timeline.
GET _sme/queryStats/validate
Params
| Name | Description | 
|---|---|
| query | query запроса с использованием URL encode | 
Пример запроса:
source tweets | sort num 
GET _sme/queryStats/validate?query=source%20tweets%20%7c%20sort%20num
Пример ответа:
{
  "sidebar": false,
  "timeline": true
}
Если в запросе указано несколько индексов через запятую, расчет sidebar и timeline агрегациями невозможен.
Пример запроса:
GET _sme/queryStats/validate?query=source%20tweets1,tweets2
Пример ответа:
{
  "sidebar": false,
  "timeline": false
}
Timeline
GET _sme/queryStats/timeline
Params
| Name | Description | 
|---|---|
| startTime | Время начала запроса | 
| endTime | Время конца запроса | 
| timefield | Название временного поля | 
| query | queryзапроса с использованием URL encode | 
Пример запроса:
source test_windows
GET _sme/queryStats/timeline?startTime=2022-04-01T10:49:16Z&endTime=2023-04-06T10:49:16Z&timefield=@timestamp&query=source%20test_windows
Пример ответа:
{
  "fields": [{
      "@timestamp": "2022-04-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-05-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-06-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-07-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-08-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-09-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-10-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-11-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-12-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-01-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-02-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-03-01T00:00:00.000Z",
      "count": 361718
    }, {
      "@timestamp": "2023-04-01T00:00:00.000Z",
      "count": 115282
    }
  ],
  "total": 477000
}
Пример запроса с search:
source test_windows | search event.code.keyword == 4776
GET _sme/queryStats/timeline?startTime=2022-04-01T10:49:16Z&endTime=2023-04-06T10:49:16Z&timefield=@timestamp&query=source%20test_windows|search%20event.code.keyword ==4776
Пример ответа:
{
  "fields": [{
      "@timestamp": "2022-04-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-05-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-06-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-07-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-08-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-09-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-10-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-11-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2022-12-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-01-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-02-01T00:00:00.000Z",
      "count": 0
    }, {
      "@timestamp": "2023-03-01T00:00:00.000Z",
      "count": 304885
    }, {
      "@timestamp": "2023-04-01T00:00:00.000Z",
      "count": 97115
    }
  ],
  "total": 402000
}
Sidebar
Возвращает количество уникальных значений полей.
GET _sme/queryStats/sidebar
Params
| Name | Description | 
|---|---|
| startTime | Время начала запроса | 
| endTime | Время конца запроса | 
| timefield | Название временного поля | 
| query | queryзапроса с использованием URL encode | 
Пример запроса:
GET _sme/queryStats/sidebar?startTime=2022-02-03T10:49:16Z&endTime=2023-02-07T10:49:16Z&timefield=@timestamp&query=source%20tweets*
Пример ответа:
[
  {
    "mymv": {
      "unique_values": 2,
      "type": "number"
    }
  }, {
    "num": {
      "unique_values": 13,
      "type": "number"
    }
  }, {
    "nickname": {
      "unique_values": 5,
      "type": "string"
    }
  }, {
    "null_num2": {
      "unique_values": 1,
      "type": "number"
    }
  }, {
    "null_num": {
      "unique_values": 4,
      "type": "number"
    }
  }, {
    "Мак адрес": {
      "unique_values": 2,
      "type": "string"
    }
  }, {
    "message": {
      "type": "text"
    }
  }, {
    "mvfield.qwe": {
      "unique_values": 2,
      "type": "number"
    }
  }, {
    "mvfield.xdd.inner": {
      "unique_values": 1,
      "type": "number"
    }
  }, {
    "boolfield": {
      "unique_values": 1,
      "type": "boolean"
    }
  }, {
    "@timestamp": {
      "unique_values": 5801,
      "type": "string"
    }
  }, {
    "message": {
      "unique_values": 5,
      "type": "string"
    }
  }, {
    "mvfield.zxc": {
      "unique_values": 3,
      "type": "string"
    }
  }, {
    "message2": {
      "unique_values": 2,
      "type": "string"
    }
  }
]
Пример запроса с search:
source tweets | search message = "hello world"
GET _sme/queryStats/sidebar?startTime=2022-02-03T10:49:16Z&endTime=2023-02-07T10:49:16Z&timefield=@timestamp&query=source%20tweets2%20%7c%20search%20message%20%3d%20%22hello%20world%22
Пример ответа:
[
  {
    "@timestamp": 5650
  }, {
    "message": 1
  }, {
    "num": 11
  }, {
    "nickname": 1
  }
]
Field
Возвращает статистику по полю: количество уникальных значений, количество документов с этим полем, тип поля, и до 20 часто встречаемых значений с количеством документов, содержащих это значение и процент от общего количества документов.
GET _sme/queryStats/field
Params
| Name | Description | 
|---|---|
| startTime | Время начала запроса | 
| endTime | Время конца запроса | 
| timefield | Название временного поля | 
| query | queryзапроса с использованием URL encode | 
| fieldName | Название поля для расчета статистики | 
Пример запроса числового поля:
GET _sme/queryStats/field?startTime=2022-02-03T10:49:16Z&endTime=2023-02-07T10:49:16Z&timefield=@timestamp&fieldName=num&query=source%20tweets2
Пример ответа:
{
  "num": {
    "unique_values": 11,
    "values": [
      {
        "count": 1023,
        "percent": 9.82,
        "value": 17
      }, {
        "count": 992,
        "percent": 9.52,
        "value": 15
      }, {
        "count": 963,
        "percent": 9.24,
        "value": 14
      }, {
        "count": 960,
        "percent": 9.21,
        "value": 10
      }, {
        "count": 959,
        "percent": 9.2,
        "value": 11
      }, {
        "count": 941,
        "percent": 9.03,
        "value": 12
      }, {
        "count": 928,
        "percent": 8.91,
        "value": 13
      }, {
        "count": 919,
        "percent": 8.82,
        "value": 20
      }, {
        "count": 915,
        "percent": 8.78,
        "value": 16
      }, {
        "count": 914,
        "percent": 8.77,
        "value": 19
      }, {
        "count": 902,
        "percent": 8.66,
        "value": 18
      }
    ],
    "count": 10416,
    "type": "number"
  }
}
Пример запроса keyword поля:
GET _sme/queryStats/field?startTime=2022-02-03T10:49:16Z&endTime=2023-02-07T10:49:16Z&timefield=@timestamp&fieldName=message&query=source%20tweets*
Пример ответа:
{
  "message": {
    "unique_values": 5,
    "values": [
      {
        "count": 10415,
        "percent": 99.84,
        "value": "hello world"
      }, {
        "count": 8,
        "percent": 0.08,
        "value": "hello, user"
      }, {
        "count": 2,
        "percent": 0.02,
        "value": "hello from tweets2"
      }, {
        "count": 1,
        "percent": 0.01,
        "value": "4"
      }, {
        "count": 1,
        "percent": 0.01,
        "value": "hello, wolrd"
      }
    ],
    "count": 10427,
    "type": "string"
  }
}