Мне трудно использовать шаблон регулярных выражений в Kibana / Elasticsearch версии 6.5.4. Поле, которое я ищу, имеет следующее отображение:
"field": {
"type": "text",
"analyzer": "custom_analyzer"
},
Поиски регулярных выражений в этом поле возвращают несколько попаданий, когда их запрашивают прямо вasticsearch:
GET /my_index/_search
{
"query": {
"regexp":{
"field": "abc[0-9]{4}"
}
}
}
С другой стороны, на страницах поиска / панели инструментов Kibana все запросы ниже возвращаются пустыми:
исходный запрос - field:/abc[0-9]{4}/
запрос scaped - field:/abc\[0\-9\]\{4\}/
отчаянный запрос - field:/.*/
Проверка запроса, сделанного kibana наasticsearch, выявляет следующий запрос:
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "field:/abc[0-9]{4}/",
"analyze_wildcard": true,
"default_field": "*"
}
}
Я ожидал, что kibana поймет синтаксис двойной косой черты /my_query/
и сделает «запрос регулярного выражения» вместо «запроса». Я пробовал это с обоими языками запросов: "lucene", "kuery" и с дополнительными "экспериментальными функциями запроса", включенными / отключенными.
Копая дальше, я обнаружил эту старую проблему , в которой говорится, что упругость только запускает регулярное выражение в устаревшее поле _all . Если это все еще верно, я не уверен, как регулярное выражение работает в kibana /astic 6.X.
Чего мне не хватает? Любая помощь в разъяснении условий использования регулярных выражений в Kibana будет высоко ценится
Все остальные вопросы стека в этой теме либо старые, либо были связаны с синтаксическими проблемами и / или отсутствием понимания того, как анализатор работает с пробелами, и не оказали мне никакой помощи.