Elasticsearchなどの検索エンジンではOkapi BM25というスコア付けアルゴリズムを使って検索結果の候補を順位づけします。今回は主にElasticsearchなどの検索エンジンを使おうとしているエンジニアを想定読者として、BM25について解説していきます。 またこの記事では具体的なスコアの目安も載せていきます。思ったように検索結果が出ない場合やスコアリングの最適化が必要になった時に助けになるのではと思います。 参考までに、BM25の確率論的な解釈などのより理論的な解説が知りたい方のために以前書いたBM25の記事を紹介しておきます。とはいえ読まなくても特に問題なくこの記事を読み進める事はできるはずです。 単語毎のスコアの総合点 クエリ query (単語qの集合)に対するドキュメント doc のスコアは以下の通りです。 \Large{\sum_{q ∈ query} score
