Any ideas why this would return a score of 1, when the last (bool must_not) matches, even though the weight is set to 0.0?
As a bit of background, this provides custom scoring where - if one field matches, score at .35, - if another more important field matches, score .65, - if both match, score 1.0 (the sume) - if non match, score 0 If I change the no match weight to -1 or something very small, like 0.000001, the weight for the must_not match comes back accurately. I am thinking this is some kind of divide by 0 error handerl in ES, that returns 1 when a score hits 0? GET test/document/_search { "query": { "function_score": { "filter": { "term": { "type": "animal" } }, "functions": [ { "filter": { "bool" : { "must" : { "term" : { "content" : "fish"} }}}, "weight": 0.35 }, { "filter": { "bool" : { "must" : { "term" : { "user_description" : "fish" } }}}, "weight": 0.65 }, { "filter": { "bool" : { "must_not" : [ {"term" : { "user_description" : "fish" }}, {"term" : { "content" : "fish" }} ] } }, "weight": 0.0 } ], "score_mode": "sum" } } } -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/de18cc05-c797-45d5-aa4d-b5426e9562d7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.