I have an Elastic Index with the below 4 documents.
PUT test/_doc/1
{
"tag" : "prove"
}
PUT test/_doc/2
{
"tag" : "prove"
}
PUT test/_doc/3
{
"tag" : "freckle"
}
PUT test/_doc/4
{
"tag" : "freckle"
}
On this i am running a simple query to pick the documents, with tag either prove or freckle. As one can infer all four will come in the results.
Query-
GET test/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"tag": "prove freckle"
}
}
]
}
}
}
Result -
{
"took" : 950,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 4,
"relation" : "eq"
},
"max_score" : 0.87546873,
"hits" : [
{
"_index" : "test",
"_type" : "_doc",
"_id" : "3",
"_score" : 0.87546873,
"_source" : {
"tag" : "freckle"
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "4",
"_score" : 0.87546873,
"_source" : {
"tag" : "freckle"
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.53899646,
"_source" : {
"tag" : "prove"
}
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.53899646,
"_source" : {
"tag" : "prove"
}
}
]
}
}
I am unable to understand how elastic is giving different scores to docs, although all documents match the query and all are in the same shard. No one has other fields, and all docs are equally unique, then how come such variation in result??
Why freckle tag doc is gaining more scores than prove?