Пометка Эластичный Поиск Медленный Запрос

#elasticsearch #aws-elasticsearch

Вопрос:

Мой кластер ElasticSearch находится в облаке AWS и работает на версии 7.8. Я пытаюсь пометить свои эластичные поисковые запросы, чтобы определить, кто является инициаторами медленных запросов, как только они появятся в журнале медленных запросов. Я прошел через elastic.co здесь приведено руководство, в котором описана процедура использования ключа аналитики для добавления тегов в запрос.

Однако, когда я запускаю свой запрос с тегом analytics, я получаю сообщение об ошибке ниже. Кроме того, PFA ниже моментального снимка запроса и ответа.

Может кто-нибудь подсказать, что я делаю не так ?

Во-вторых, если тег analytics является чем-то, что недоступно в AWS ElasticSearch, то может ли кто-нибудь предложить, какие могут быть альтернативы тегированию моих запросов ?

 {
  "error" : {
    "root_cause" : [
      {
        "type" : "parsing_exception",
        "reason" : "Unknown key for a START_OBJECT in [analytics].",
        "line" : 156,
        "col" : 16
      }
    ],
    "type" : "parsing_exception",
    "reason" : "Unknown key for a START_OBJECT in [analytics].",
    "line" : 156,
    "col" : 16
  },
  "status" : 400
}
 

Запрос и ответ Кибаны

Ответ №1:

Документация, на которую вы ссылаетесь, предназначена для поиска приложений, который является еще одним продуктом эластичного стека, но не самого Elasticsearch.

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

Что вы можете сделать, так это просто пометить запрос верхнего уровня bool

 "query": {
  "bool": {
    "_name": "your-client-tag",
    "must": [
      {
       "bool": {
 

Комментарии:

1. Спасибо. Разве нет поля верхнего уровня, где я могу просто добавить идентификатор пользователя, который заботится о пометке ? Я имею в виду, что добавление одного и того же идентификатора пользователя ко всем подзапросам может быть не лучшим способом ?

2. Вам не нужно добавлять его ко всем подзапросам только по одному, так как весь запрос будет регистрироваться в медленном журнале, вам просто нужен «сигнал».

3. Спасибо. Однако я вижу, что в мои запросы уже встроено несколько _name . Вы можете посмотреть запрос здесь : pastebin.com/qfGC3tfP . Разве нет атрибута верхнего уровня, который позволяет мне помечать запрос так, как будто он выполняется с помощью тега аналитики ?

4. Смотрите мой обновленный ответ. Вам просто нужно пометить запрос bool верхнего уровня, и все готово

5. Как мне пометить предлагаемые запросы. _name будет работать для запроса, но не для предложения.