Фильтр регулярных выражений ElasticSearch
У меня проблемы с правильным выражением регулярного выражения для фильтра ElasticSearch Regexp. Я'Я пытаюсь соответствовать на что-нибудь в "Информация по вопросам / СМИ» в поле URL, напримерhttp://mydomain.co.uk/info-for/media/press-release-1, Чтобы попытаться получить правильное выражение, ям используюmatch_all
на данный момент, но это в конечном итоге будетmatch_phrase
с пользователемСтрока запроса.
POST для localhost: 9200 / _search
{
"query" : {
"match_all" : { },
"filtered" : {
"filter" : {
"regexp": {
"url":".*info-for/media.*"
}
}
}
},
}
Это возвращает0 хиты, но разбирает правильно..*info.*
действительно получает результаты, содержащие URL-адрес, но, к сожалению, слишком широкий, например, соответствие любым URL-адресам, содержащим "Информация", Как только я добавлю дефис винфо-за» обратно, я снова получаю 0 результатов. Независимо от того, какую комбинацию escape-символов я пытаюсь использовать, я получаю исключение синтаксического анализа или нет совпадений. Кто-нибудь может помочь объяснить, что яя делаю неправильно?