Relevance model 3 (RM3) is a traditional query expansion strategy based on language modeling. Several recent papers have shown that BM25 retrieval with RM3 expansion gives a very strong baseline, competitive even with more advanced approaches [1, 2]. Although RM3 often appears in the academic search literature, we haven't come across many examples of RM3 being used in practice.
We are hoping for community feedback to help inform our thinking on how we can better support query expansion in Elasticsearch:
- Have you tried using RM3 in your applications? How was it integrated? Did you find it measurably improved the search experience?
- Did you have a positive experience deploying any other automatic query expansion method? For example, this could include training a word embedding model, and selecting expansion terms by looking at the distance between word vectors.
As an important note, some new search features are being developed under the Elastic license (non-OSS). Your input may end up influencing an Elastic-licensed feature.
Thanks in advance!