With regard to forum searches when searching for multiple words that can also be problematic as it can produce results based only on one of the words matches. For example if you search for, "christmas 2020" this will produces results for 2020, christmas and christmas 2020
If you are looking for an exact match, wrapping it in quotation marks should return only results matching the exact phrase. E.g. "christmas 2020" instead of christmas 2020.
The result page still highlights individual words in the phrase e.g. 2020 OR christmas but results should only be returned if the entire phrase is matched in the result.
EDIT: For the interested, the reason the individual words are highlighted is that the highlighting really has nothing to do with the actual search. Highlighting is just an exact match text comparison with your input and the actual search is database query.
There are other tricks that may or may not work depending in implementation.
Christmas -2020 for instance should return results that include christmas but does not include 2020
+ is an inclusion operand
- is an exclusion operand
* is a wildcard.
For instance:
Christmas +202*
Should return results that include christmas AND 202(any character)
In the context of this forum this is likely to return results containing christmas 2020, christmas 2021 and christmas 2022. It would also return for results for say "christmas event 2021"
There is however nothing that helps for 3 letter searches as it is (as mentioned) in its essence a mysql indexing problem. This can be circumvented with xenforo enhanced search addon, i believe. That is however contingent on elasticsearch which is not available on all platforms (I believe they have a cloud solution nowadays though).
I guess the best we can do is get better at using google to find the results we are looking for