顧客がebuyer.comやNewegg.comと同じスタイルでカテゴリと分類を介して製品検索を絞り込むことができるように、ファセット検索ツールが必要な e コマース サイトを作成しています(左側のメニューを参照)。
私は当初、EAV 構造に似たデータベースの設計に飛び込みました (当時はこれが何であるかはわかりませんでした)。最初はこれが理想的でした。無制限のカテゴリ、サブカテゴリ、およびその他の製品分類 (つまり、色、顧客が特定の製品を見つけるために使用できるサイズ、受信者)。しかし、条件を使用して SQL クエリを作成しようと試み始めたとき、AND
通常の単純なクエリを記述するのが非常に長く複雑になることに気付きました。
SO のさまざまな投稿や Google の記事を数時間読んだ後、この方法を続けた場合の悪夢に気づきました。
質問
ebuyer.comやNewegg.comなどのサイトは、ファセット検索をどのように設計したのでしょうか?
別の方法を見逃したのでしょうか、それとも単純に EAV 構造を採用したのでしょうか? Lucene/Solr のようなエンタープライズ ソリューションは避けたいと考えています。