私はショッピング比較サイトを開発していますが、プロジェクトは非常に進んだ段階にあります。さまざまなアフィリエイトネットワークからのマーチャントフィードを使用して、毎日5,000万の製品にインデックスを付けています。パフォーマンスのボトルネックの大部分を含め、私が抱えていた問題のほとんどはすでに解決されています。
私の問題は何ですか:まず、drupalでapache solrを使用していますが、この問題はdrupalまたはsolrに固有のものではありません。知識がなくても、問題ありません。
私たちは2000以上の異なる商人から製品フィードを受け取ります、そしてそれらのフィードは混乱しています。それらには特定のパターンはなく、各マーチャントは希望する方法でフィードを送信します。これに関してはすでに多くの問題を解決しましたが、1つ残っています。ファセットブラウジング機能の分類用語を正規化します。
Webサイトに「NarrowbyBrands」ブラウジングファセットがあるとします。ここで、100のマーチャントがMicrosoftの製品を提供するとします。ここで問題が発生します。データフィード「Microsoft」の「ブランド」列に入力するマーチャント、「Microsoft、Inc。」、「Microsoft Corporation」、「Products from Microsoft」など、マーチャントと最悪の間に特定のパターンはありません。 、一部の個々の商人は非常にずさんなので、同じデータフィードで同じブランドに対して異なる文字列を持っています。
これらの異なるブランドすべてがナビゲーションに表示されることは望ましくありません。インポートしたブランドを「good」ブランドテーブル(「MicrosoftCorporation」->「Microsoft」、「Products fromMicrosoft」->「Microsoft」など)に手動でマッピングするという問題に対する手動の解決策があります。データベースには10,000のブランドのようなものがあり、これは実行可能です。問題は、「作者」のような大きなものが付属している場合です。書籍をシステムにインポートすると、80万人を超える著者がいて、同じ問題が発生します。これは、手動マッピングでは実行できません。問題は同じです:「トム・マイク・アポストル」、「トム・M・アポストル」、「アポストル、トム・M」など。
許容できる精度(85%-95%の精度)でこの問題を自動的に解決する良い方法を知っている人はいますか?
助けてくれてありがとう!