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"
}
}
]
}
}
But I am unable to understand how elastic is giving different scores to docs, although all matched the query and all are in the same shard. No one has other fields, or all docs are equally unique, then how come such variation in result?? Why freckle tag doc are gaining more score than prove ?