Filtro ElasticSearch Regexp
Estou tendo problemas para expressar corretamente um regexp para o filtro ElasticSearch Regexp. Estou tentando corresponder a qualquer coisa em "informações para / mídia" no campo de URL, por exemplo.http://mydomain.co.uk/info-for/media/press-release-1. Para tentar obter a regex correta, estou usandomatch_all
por enquanto, mas isso acabará sendomatch_phrase
com a string de consulta do usuário.
POST para localhost: 9200 / _search
{
"query" : {
"match_all" : { },
"filtered" : {
"filter" : {
"regexp": {
"url":".*info-for/media.*"
}
}
}
},
}
Isso retorna0 ocorrências, mas analisa corretamente..*info.*
obtém resultados contendo o URL, mas infelizmente é muito amplo, por exemplo correspondendo a qualquer URL que contenha "informações". Assim que adiciono o hífen em "info-for", recebo 0 resultados novamente. Independentemente da combinação de caracteres de escape que eu tente, recebo uma exceção de análise ou nenhuma correspondência. Alguém pode ajudar a explicar o que estou fazendo de errado?