I'm trying to find a way to parse UserAgent on kibana 5.3 so I could get the following response:
"aws-sdk-java/1.11.76 Mac_OS_X/10.12.5"
"aws-sdk-java/1.11.78 Mac_OS_X/10.11.2"
"aws-sdk-java/1.11.80 Mac_OS_X/10.10.1"
"aws-sdk-java/1.11.83 Mac_OS_X/10.12.2"
"aws-sdk-java/1.10.33 Mac_OS_X/10.12.3"
etc..
I tried with ? to replace numbers
{
"query": {
"match": {
"userAgent": {
"query": "aws-sdk-java/?.??.?? Mac_OS_X/??.??.??",
"type": "phrase"
}
}
}
}
or <0-100> for number ranges
{
"query": {
"match": {
"userAgent": {
"query": "aws-sdk-java/<0-100>.<0-100>.<0-100> Mac_OS_X/<0-100>.<0-100>.<0-100>",
"type": "phrase"
}
}
}
}
or even with *
{
"query": {
"match": {
"userAgent": {
"query": "aws-sdk-java/*.*.* Mac_OS_X/*.*.*",
"type": "phrase"
}
}
}
}
Nothing, Kibana never find anything, I need to do :
{
"query": {
"match": {
"userAgent": {
"query": "aws-sdk-java/*",
"type": "phrase"
}
}
}
}
and then it works, but i don't want to have to exclude the rest of the string.
the field userAgent is of type string, he is Searchable and Analyzed. Can anyone could give me a hint on what i'm missing? Thanks