Our elasticsearch documents are short medical terms, there are a lot words are very high frequent, like "history", "left", "right", "open", "closed" etc.
Since by default BM25 is favoring less frequent terms, the high frequency words carry so little weight sometimes they're close to being ignored, but those words are important, like "open fracture" and "closed fracture" are much different in the meaning.
We have tried to tweak the b/k value for the BM25 config, it works well for very short terms(<10 words). However, for terms with more than 10 words, we still run into issues with those high frequency words are being ignored. Also lowering b/k value too much hurts other search results.
The question is: are there other ways to give more weight to those high frequency words?
Thanks!