我的SOLR索引为:
{'year':2002
'user_entries':['user1']},
{'year':2003
'user_entries':['user2']},
{'year':2002
'user_entries':['user1']},
预期结果
{facet_fields:{2002:{'user1':2}, 2003:{'user2':1}}}
我可以使用 fq = year:2002 来提取user_entries上的facet,以提取2002年中每个用户的条目数
/ solr的/ RSS /选择Q = :&安培; FQ =年:2002&安培;重量= JSON&安培;缩进=真安培;小面=真安培; facet.query =年:2002&安培;小面。字段= user_entries
但我想从2002年到2010年单独提取每年的user_entries,而不是总结它们。
1. solr/rss/select?q=*:*&fq=year:2002&wt=json&indent=true&facet=true&facet.query=year:2002&facet.field=user_entries
2. solr/rss/select?q=*:*&fq=year:2003&wt=json&indent=true&facet=true&facet.query=year:2003&facet.field=user_entries
...
我可以每年使用单个多个过滤器查询而不是多个查询,我可以使用这些查询提取单个年份数据,而无需将其与默认OR操作相加?
答案 0 :(得分:2)
如果您使用的是Solr 4.0或更新版本,则可以使用pivot facets:
?q=*:*
&facet=true
&facet.pivot=year,user_entries
&f.user_entries.facet.limit=3
但是响应与常规字段方面并不完全相同,因此您可能需要更改解析代码。你将获得" 2002"年份字段的值,以及" 2002"的每个组合。和user_entries字段的值(限制为3),然后是" 2003"值。