-1

I am searching for data in kibana which ends with ":1"

I have a dataset like so for an my_field:

skdjjsdk:jkdsjkd:123:1:1
skdjjsdk:jkdsjkd:123:2:12
skdjjsdk:jkdsjkd:123:1:33
skdjjsdk:jkdsjkd:123:1:01
skdjjsdk:jkdsjkd:123:2:2

I tried searching in kibana search

my_field: "*:1"
my_field: ":1$"

also tried Elasticsearch Query DSL (in filter fields)

{
  "query": {
    "regexp": {
      "my_field": {
        "value": ".*:1"
      }
    }
  }
}   

But I am getting matched with

skdjjsdk:jkdsjkd:123:1:1
skdjjsdk:jkdsjkd:123:1:33

But I want only skdjjsdk:jkdsjkd:123:1:1

Vaibhav
  • 1,154
  • 10
  • 26

1 Answers1

0

I get the result using analyzer whitespace and wildcard query.

PUT idx_test
{
 "mappings": {
   "properties": {
     "my_field" :{
       "type": "text",
       "analyzer": "whitespace"
     }
   }
 }
}


POST idx_test/_doc/
{"my_field":"skdjjsdk:jkdsjkd:123:1:1"}

POST idx_test/_doc/
{"my_field":"skdjjsdk:jkdsjkd:123:2:12"}

POST idx_test/_doc/
{"my_field":"skdjjsdk:jkdsjkd:123:1:33"}

POST idx_test/_doc/
{"my_field":"skdjjsdk:jkdsjkd:123:1:01"}

POST idx_test/_doc/
{"my_field":"skdjjsdk:jkdsjkd:123:2:2"}


GET idx_test/_search
{
  "query": {
   "wildcard": {
     "my_field": {
       "value": "*:1"
     }
   }
  }
}  
rabbitbr
  • 2,991
  • 2
  • 4
  • 17