私がまとめている電子商取引パッケージに商品を表示するアプローチに関して、簡単な質問があります。私が直面している問題は、サイトの訪問者に検索を絞りたいということです。PHP、MySQLの電子商取引フィルタリングのアプローチ
例えば、ユースケースは次のようになります。ビジターは現在、(。例えば夏コレクションは)製品のシーズンを閲覧している
- 彼/彼女はその後、カテゴリやブランドでフィルタリングすることができるはずですその季節には、例えば、彼らは衣服の豊かさからズボンを見たいと思うかもしれません。
問題、私は対面は、これらの要因の3つのすべてに一致する製品を見つけるために、単一のSQLクエリを実行すると、(その製品は、夏のコレクションであるパンツのペアで、服によって作られたということですミリアンペア豊富)。これを過度に困難にするのは、製品が複数のカテゴリと季節になる可能性があるということです。正しい結果を得るためには、狂った量の結合が必要になります。
次のように私のデータベース構造は次のとおりです。
product -> product_category <- category
product -> product_season <- season
product <- brand (a product can only be made by one brand)
はhttp://lucene.apache.org/solr/(あなたは大きなカタログを持っている場合、あなたは、Apache Solrのを使用する方がよいかもしれません
テーブル構造は曖昧です。 product_seasonとproduct_categoryが既に商品表の一部である場合、なぜ、まったく参加する必要がありますか?私は彼らがcategory_idとseason_idまたは何かを共有していると仮定しています。私はその前提の下で答えを書くつもりです。 – James
ごめんなさい、スケッチーなERDであると思われました。 product_categoryとproduct_seasonは、製品とそれぞれの結合テーブル(カテゴリやシーズンなど)間のブリッジングエンティティを表します。それを少しクリアすることを願っています。 –
それは私が考えていたものです。私は彼らが同じテーブルの両方のフィールドであると仮定していますか?よく分かりません。 – James