ElasticSearch Regexp Filter
Mam problemy z poprawnym wyrażeniem wyrażenia regularnego dla filtru ElasticSearch Regexp. Próbuję dopasować cokolwiek w „info-for / media” w polu adresu URL, np.http://mydomain.co.uk/info-for/media/press-release-1. Aby wypróbować poprawne wyrażenie regularne, używammatch_all
na razie, ale w końcu tak będziematch_phrase
z łańcuchem zapytania użytkownika.
POST do localhost: 9200 / _search
{
"query" : {
"match_all" : { },
"filtered" : {
"filter" : {
"regexp": {
"url":".*info-for/media.*"
}
}
}
},
}
To wraca0 trafień, ale poprawnie analizuje..*info.*
uzyskuje wyniki zawierające adres URL, ale niestety jest zbyt szeroki, np. dopasowywanie adresów URL zawierających „informacje”. Jak tylko dodam myślnik w „info-for” z powrotem, otrzymam ponownie 0 wyników. Bez względu na to, jaką kombinację znaków ucieczki próbuję, albo dostaję wyjątek analizy, albo nie pasuję. Czy ktoś może pomóc wyjaśnić, co robię źle?