Keyword Weighting Explanation

Hello there,

So, I am doing different tests to understand the weighting method behind the bm25 keyword search (using hybrid with alpha=0), but getting very confused about the results. In my experiments I have 3 properties [“question”, “answer”, “QnA”],

My initial understanding of weighting was that it would calculate the final score by doing a simple weighted average:
(score1weight1 + score2weight2) / (weight1 + weight2)

But after a few days of experimenting, I was hoping I could get clarification on how these weights are actually supposed to relate to each other.

My questions/tests:

  1. Why are these cases not producing the same results?
    properties=[“question”]
    VS
    properties=[“question^1”, “answer^0”]

  2. In one of my tests I concatenated “question” with “answer” and made a new field called “QnA”. But these two don’t have the same search results:
    properties=[“QnA”]
    properties=[“question^1”, “answer^1”]

  3. Another test was just using the question field but on different weights. I thought since this is an only-keyword search on just 1 field, whatever weight we give it it should have been the same result, but different weights produce different results somehow. Why?
    properties=[“question^1”]
    properties=[“question^5”]

  4. The “explainScore” I get from the “_additional” field isn’t explaining what is happening with the different properties, and how much each is contributing in the weighting.