2015-11-04 63 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