2015-11-03 43 views
0

我正在实施solr。我在sql server中有很多表。现在我创建了一个查询,它将给我所有表格中的数据,我将插入到solr中。这里是我有的数据 类别有多个包和包有多个资产,它们是Solr中现在单个表的一部分。Solr查询从文档中获取信息

solr中的唯一键是categoryid,packsid,assetid 现在在Solr中,我需要在cateogries中包的数量。我如何在Solr中实现这一点?

我需要的是获得具有不同类别和packid的所有结果,然后按类别ID对其进行分组,以获得不同类别中的包的数量。怎样才能组从Solr的查询来的结果

这就是我想要 我有哪里列CATEGORYID,Packid,描述的ImageUrl ..... 行的集合,我需要得到不同行用于组合Categoryid和Packid。获得不同的行后,我需要将这些不同的行与Categoryid,imageurl和Description包含计数的Packid组合在一起。

回答

0

如果使用Solr5,就可以使使用subfacetting中的哪一个以及由Yonik这里描述:

http://yonik.com/solr-subfacets/

如果使用Solr4或更低(当然,也5),小面仍然是要走的路。你应该添加到您的请求开始:

fq=packid:<the selected id>&facet=true&facet.field=categoryid

从那里,你可以添加标签的参数,你似乎合体来得到计数。

https://wiki.apache.org/solr/SimpleFacetParameters 和这个页面上,尤其是:tagging and excluding filters

+0

非常感谢,坚果我仍然无法查询出来。从categoryid和packid的独特组合领域,我需要将所有类别组合在一起,并计算一个类别中的总包数。 – Nipun

+0

我已更新该问题。我无法获得正确的查询。请指教 – Nipun

0

我假设你有Solr的id作为CATID,packId和资产ID。此外,随着id的细节,你应该也有作为你的一部分字段和有效的非规范化,你可以查询多个字段,如catId和packId,然后面对多个字段,以获得每个组合的计数。你可以做两个领域。让我知道如果这种方法可以满足您的需求