私のプロジェクトでは、チームによって手動で作成されたフラットな Excel ファイルから 50 万行以上のデータのかなりのコレクションをインポートしています。ここでの問題は、クライアント検索のために、すべてを正規化する必要があることです。たとえば、会社フィールドには複数の会社のスペルがあり、「IBM」の次に「IBM Inc.」などの支店が含まれます。また、「A46-Rhizonme Pentahol」など、SOUNDEXだけでは扱えない英数字の商品名もあります。
AJAX auto-suggestを使用して、すべてのデータ入力を Web フォームから行うことで、長期的に問題を解決できます。ただし、それまでは、既存のデータの膨大なコレクションに対処する必要があります。これは、私がここで読んだことに基づいて、良いプロセスであると私が信じるものに私を導きます:
http://msdn.microsoft.com/en-us/magazine/cc163731.aspx
カスタムのファジー ロジック ルックアップとファジー ロジックのグループ化を作成する手順
- リスト項目
- 文字列をキーワードにトークン化する
- キーワード TF-IDF の計算 (合計頻度 - 逆ドキュメント頻度)
- キーワード間のレーベンシュタイン距離を計算する
- 利用可能なアルファ文字列でSoundexを計算する
- キーワードのコンテキストを決定する
- コンテキストに基づいて、「会社」、「製品」、「成分」などの個別の DB テーブルにキーワードを配置します。
私はグーグルで、StackOverflow を検索し、MySQL.com のディスカッションなどを読んで、この問題について事前に構築されたソリューションを見つけようとしました。何か案は?