この記事は、Justsystems Advent Calendar 2017の23日目の記事です。 今回はElasticsearchでランキング学習をやってみます。 ランキング学習について ランキング学習は機械学習のモデルを用いて検索ランキングを最適化することをさします。 検索結果のランキングはtf-idfやBM25、ページランクなどを使うことが多いと思いますが、ランキング学習により検索サーバーのクリックログなどに基づき順位の最適化を行うことができます。 その際、処理速度などの問題から順位の最適化はトップN件のリランクという形で行われることが多いです (下図参照)。 Elasticsearchはこのようなランキング学習を行うことができるプラグインが開発されていますが、まだ詳細を確認できていなかったのでこの機会に試してみました。誰かの参考になれば幸いです。 この記事では次のことをします。 T