huruyosi’s blog

プログラミングとかインフラとかのメモです。

Apache lucene で名寄せを実現する その一

やりたいこと

システムを新しくするにあたり、商品のマスタデータを整理することになりました。複数の店舗で別々に管理しているので本来であれば同じ商品が別々に登録され、名称も一致していません。

各店舗のデータを集めてきて商品マスタとして一本化することを目指します。

実現環境

基本的にはluceneを使う処理をゴリゴリ実装しています。

商品のマスタ

既存システム

マスタの属性はこれらです。

  • 店舗コード
  • 店舗名
  • 商品コード
  • 商品名
  • 区分コード
  • 区分名
  • 分類コード
  • 分類名

商品コードは1店舗内でも重複し、名称と区分と分類も店舗が独自に設定しています。

新システムの商品マスタ

既存のデータとは別に、新システム用に準備された商品マスタがあります。 新システムの属性はこれらです。

  • 商品コード
  • 商品名

目指すところ

新システムの名称に対応する各店舗の商品を探します。

新システム商品名 店舗2商品名 店舗2商品名 店舗3商品名 店舗4商品名 店舗5商品名
きつねうどん きつねうどん うどん(きつね) うどん(キツネ) うどん きつね 該当なし