Как искать подстроку из поля журнала, используя скриптовые поля в безболезненно без регулярных выражений - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь создать для некоторых скриптовых полей безболезненно путем захвата некоторого «ключевого слова» в поле журнала, которое представляет собой длинное текстовое поле.Например, у меня есть куча полей журнала:

"Error: Duplicate entry in user1"

"Error: Duplicate entry in user2"

"Error: Duplicate entry in user1"

"Error: Duplicate entry in user3"

"Error: Duplicate entry in user2"

"Error: Duplicate entry in user1"

"Error: Duplicate entry in user3"

Безболезненно я использовал:

if (doc['log.keyword'].value == 'Duplicate entry') {
return "match";
}
return "No match";

, чтобы захватить только сообщение об ошибке «Дубликат записи» независимо от идентификатора пользователя, яЯ уверен, что мне нужно использовать регулярные выражения, чтобы сделать это.Мне просто интересно, есть ли другой способ сделать это без использования регулярных выражений.Какие-либо предложения.

1 Ответ

1 голос
/ 22 марта 2019

есть много способов. Вы можете попробовать это:

GET logs/_search
{
  "query": {
    "script": {
      "script": 
      """
      if (doc["log.keyword"].value == null) return false;
      return doc["log.keyword"].value.contains("Duplicate entry");
      """
    }
  }
}

в кибане 5 тройных кавычек могут не работать. я точно не помню просто замените одинарные кавычки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...