1

pricegrabber.com と同様に、動的フィールドを使用してファセットを作成する必要がある Web アプリを作成した後です。

pricegrabber がファセット名または発行者を決定するかどうかはわかりません。電子レンジhttp://www.pricegrabber.com/appliances/microwave-ovens/p-528/の場合に「色」ファセットがあり 、プラズマ/LCD http: //www.pricegrabber.com/electronics/plasma-lcd-televisions/p-197/

そのような状況を処理する最も簡単な方法は何ですか?

4

1 に答える 1

1

これはそれを行う1つの方法です。各製品にカテゴリを割り当て、各カテゴリに一連のプロパティを割り当てます。(カテゴリからプロパティへのマッピングは、DB など、Solr の外部のどこかに保存できます。)

プロパティは動的フィールドです -property_*以下。例えば:

{
 product_name: Brand A 3 Cu. ft. microwave,
 category: 1,
 price: 45.35,
 property_color: Red,
 property_capacity_cu_ft: 3,
 property_brand: Brand A
}, 
{
 product_name: Brand B 45 inch plasma TV,
 category: 2,
 price: 4500.35,
 property_resolution: 1920 x 1200,
 property_aspect_ratio: Widescreen,
 property_brand: Brand B
}

また、自動提案キーワードのそれぞれにカテゴリを割り当てます。たとえば、 1microwave ovenにマッピングできますcategory。誰かがあなたを検索するmicrowave ovenと、それが属するカテゴリのプロパティが取り込まれます。

color
capacity_cu_ft
brand

次のようなクエリを作成します。

q=microwave%20oven&facet=true&facet.query=property_color&facet.query=property_capacity_cu_ft&facet.query=property_brand

(ここでは、capacity_cu_ft のファセットを範囲指定することもできます。)

ユーザーが自動提案辞書にない用語を検索した場合、最善の策は、実際にカテゴリ自体をファセットすることです。(これが pricegrabber の機能だと思います。) もちろん、price は常に利用できるので、すべての検索でいつでも使用できるファセットです。

于 2013-08-13T05:53:51.110 に答える