Range query with elasticsearch for string
elasticsearch, range-query
Solution
{
"query": {
"range": {
"order_no": {
"gte": "vm-0001",
"lte": "vm-0005"
}
}
}
}
Problem
I am trying use range query with elasticsearch ``` { "query": { "range": { "order_no": { "gte": "VM-0001", "lte": "VM-0005" } } } } ``` But elastic return no result. I found system have problem with string include `-` or `_` This is mapping of that field: ``` "order_no" : { "type" : "string", "index_analyzer" : "str_index_analyzer", "search_analyzer" : "str_search_analyzer" } ``` ``` { "analysis": { "analyzer": { "str_search_analyzer": { "tokenizer": "keyword", "filter": [ "lowercase" ] }, "str_index_analyzer": { "tokenizer": "keyword", "filter": [ "lowercase", "substring" ] } }, "filter": { "substring": { "type": "nGram", "min_gram": 1, "max_gram": 20 } } } } ```