12

私のスキーマは次のようなものです:

product_id  
category_id

カテゴリには製品が含まれます。
solr 3.6 では、category_id で結果をグループ化し、うまく機能します。

新しいフィールドを追加しました:

group_id

グループには、サイズや色が異なる商品が含まれています。
例: 青、赤、黄色の靴は 3 つの異なる商品であり、同じ group_id を持っています。

フィールド category_id での結果のグループ化に加えて、group_id が null である可能性があると仮定して (グループの一部ではない製品の場合)、結果に group_id の製品を 1 つだけ表示したいと考えています。

靴の例に従うと、「靴」というリクエストの場合、3 つの製品のうちの 1 つだけが結果に含まれる必要があることを意味します。

group_id で 2 番目の結果のグループ化を行うことを考えましたが、その方法では実行できないようです。

何か案が?

編集: 今のところ、php で結果を処理して、既に結果に含まれている group_id を持つドキュメントを削除します。誰かが2つのフィールドでグループ化する方法を見つけた場合に備えて、この件名は開いたままにします

4

3 に答える 3

2

solr に投稿するデータを変更できる場合は、category_id と group_id を連結した文字列フィールドを作成することをお勧めします。たとえば、category_id = 5 および group_id=2 の場合、文字列フィールドは :- '5,2' (',' またはその他の文字を区切り文字として使用) になります。その後、この文字列フィールドでグループ化できます。

于 2013-04-03T18:16:05.840 に答える