2015-11-04 62 views
0

我有名爲categoryid,description,packid,imageurl ...和許多其他列的列。帶描述的類別,imageurl可以包含多個packsid。現在我需要找到solr,有多少類別以及每個類別中有多少個包。爲此我做了一個facet.pivot對Solr pivoting獲得多個字段的值

CCategoryId,PPackId 

我得到的類別id和packid裏面。但是如何獲得類別標識的描述和圖像。有沒有一種方法,其特徵在於,我可以在樞軸本身

這是我Solr的API獲取這些值與類別ID一起

http://172.28.0.162:8983/solr/cpaCore/select?q=PIsActive:true&wt=json&indent=true&debugQuery=true&fl=CategoryId,Description,ImageUrl, PackId, groupfield&facet=true&facet.pivot=CategoryId,PackId 

我需要說明和的ImageUrl爲每CATEGORYID

更新 這是我的桌子solr Categoryid,Description,ImageUrl,Packid,Packinfo,Packgrop ......

這就是我需要的 Group by(Categoryid,Description and的ImageUrl)合併,然後組通過對來自上述組的結果packid通過

所以結果類似

--field Category 
--value :.. , 
--field: description 
--value : , 
--field: imageurl 
--value ... 
--count : ... 
-----field: packid 
-----value: 1 
-----count 
-----field: packid 
-----value: 2  

爲了更清楚在表的形式,我需要

catid desc imageurl packid 
1  x  y  11 
1  x  y  12 
1  x  y  13 
加入所得結果

也應該給我在這個獨特(CATID,遞減,IMAGEURL)計數的獨特(CATID,遞減,IMAGEURL)和packid計數

回答

0

當你做小面(分組),結果將基於count這樣的組功能。一旦在特定領域完成分組,其他字段值可能會不同。對於防爆

CATID,packId,遞減,圖

1,1,DESC1,IMG1

1,2,DESC1,IMG1

1,3,DESC1,IMG1

2,1,DESC2,IMG2

2,2,DESC2,IMG2

http://localhost:8983/solr/ram_core/select?q=*&facet=true&facet.field=catId&facet.pivot=catId,img,desc&facet.pivot=catId,packId&wt=json&indent=true 

這裏我給兩個樞軸,一個用於CATID,IMG desc,並且一個用於CATID,packId

結果: catId1,IMG1,DESC1 - 3 catId2,IMG2,DESC2 - 2

catId1, packId1 - 1 catId2,packId2 - 1 catId3,packId3 - 1 catId4,packId4 - 1 catId5,packId5 - 1

+0

CATEGORYID,描述和IMAGEURL總是相同的同一cateogry ID。我需要這些信息,以及我在做的事情時獲得的信息。但不能得到所有字段的值 – Nipun

+0

好的,但是你的分面是在兩個領域,所以我認爲組功能已經被評估過,然後你需要現在的一個級別,只得到cat,img和desc而不是packId。你可否確認。 – Ramzy

+0

是的,所以我可以在一個級別的多個列上執行facet.pivot,然後像description,categoryid和imageurl那樣在packid上執行,然後在packid上執行 – Nipun