Am searching elasticsearch with the below match query, which is not giving me the exact match instead its giving some more irrevalant match also.
am using elasticsearch 6.2.3
Please find my query below
get items/_search
{
"query" : {
"match" : {
"code" : "7000-8900"
}
}
}
Please find the response am getting it from match
query
7000-8900
7000-8002-WK
7000-8002-W
Instead of match
you have to use term
query, as the documentation describe:
The term query finds documents that contain the exact term specified in the inverted index
So you have to change your query as follow:
get items/_search
{
"query" : {
"term" : {
"code.keyword" : "7000-8900"
}
}
}
If you don't get any result there are two possibilities:
Note: if the mapping is correct and code is a term field it is possible to use "code". If the mapping was automatic and the mapping recognize it as text you need to use "code.keyword"