Elasticsearch (OpenSearch) を活用した採用候補者検索機能の精度チューニングの取り組み

概要

  • SanSanさんのサーバーサイドエンジニアの方によるESによる検索機能改善の取り組み
  • ECDといういわゆる人材マッチングサービス
  • ECDではkuromojiという形態素解析器とn-gramを使っている
    • 以下のような問題があった
        • 形態素解析のみでトークナイズした場合、検索結果の適合率は高く、再現率は低くなりやすい傾向がある
        • n-gram のみでトークナイズした場合、検索結果の適合率は低く、再現率は高くなりやすい傾向がある
  • 二つのtokenizeを組み合わせることで精度改善した
    • index mapping定義
      queryはboolean queryでboostで重みづけ
      を用いてESの_scoreと独自で計算したスコアを組み合わせた