2011-08-03 15 views
1

私はeBay検索フィルタのような動的なカテゴリが必要なウェブサイトを構築しています。あなたは正しい方向に私を指摘し、私にいくつかの有用なリンクやアイデアを送ってくださいできますか?動的分類/検索フィルタを実装する方法

ebayでは、左側の検索フィルターは常に商品データに基づいて生成されます。

これを実装する方法はありますか?

ありがとうございました。

答えて

0

最も簡単な方法の1つは、まず商品にタグを付ける必要があります。タグ付けは本質的に分類ですが、商品を複数のカテゴリ(またはタグ)にまとめることが重要です。製品を検索する場合

は今、あなたはタグのクエリを対応する発射する必要があります - 例えば、3つの簡単なテーブルと仮定:そのようなトリックを行うだろうとproduct_master、tag_masterとproduct_tag(many_to_many関係)、MS SQLクエリを

select 
    t.tag_name, 
    count distinct (pt.product_id) 
from 
    tag_master t 
    inner join product_tag pt 
    on t.tag_id = pt.tag_id 
    inner join product p 
    on pt.product_id = p.product_id 
Where 
    p.name like '%search_term%' 
group by 
    t.tag_name 

本質的に、非常に製品を検索するためには、そのようなクエリを実行する必要があります。通常、数千ものタグを照合するので、さらに検索のページング中にクエリ結果をキャッシュします。タグ/カテゴリによるドリルダウンは、where句に簡単に追加されます。

階層をサポートするためのクエリをタグ(またはカテゴリ)に拡張することができます。

関連する問題