Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态场上的Solr聚合/刻面_Solr_Datastax Enterprise_Datastax - Fatal编程技术网

动态场上的Solr聚合/刻面

动态场上的Solr聚合/刻面,solr,datastax-enterprise,datastax,Solr,Datastax Enterprise,Datastax,表架构: CREATE TABLE attributes_v1 ( profile_id bigint, attributes map<text, int>, solr_query text, PRIMARY KEY ((profile_id)) ) 我不知道如何完成以下任务(通过CQL或java使用solr) 所需的聚合/方面: a1计数:2 a1总数:2 a101计数:1 a101总和:1 a11计数:2 a11总和:4 a12322计数:1 a12322总和:

表架构:

CREATE TABLE attributes_v1 (
  profile_id bigint,
  attributes map<text, int>,
  solr_query text,
  PRIMARY KEY ((profile_id))
)
我不知道如何完成以下任务(通过CQL或java使用solr)

所需的聚合/方面:

a1计数:2 a1总数:2

a101计数:1 a101总和:1

a11计数:2 a11总和:4

a12322计数:1 a12322总和:1

a2322计数:1 a2322总和:1

a10计数:2 a10总和:2

a51计数:2 a51总数:4

a5计数:1 a5总数:3

有什么想法吗


谢谢大家!

我认为您应该在地图键前面加上字段本身的名称。这是以下链接中提到的要求/限制:

因此,例如,您的“a1”元素应该被称为“attributes1”,您的“a12322”应该被称为“attributes12322”

然后在Solr模式中,定义dynamicField,如下所示:

<dynamicField name="attributes*" ... />
现在,对于您关于聚合的问题,因为除了计数之外,您还需要求和,所以我认为您应该使用need
stats
而不是
facet

stats=true&stats.field=attributes12322
可以指定多个stats.field参数,如:

stats=true&stats.field=attributes12322&stats.field=attributes1&stats.field=attribute51
然后,您可以从每个stats\u fields响应项的“sum”属性中检索sum,从“count”属性中检索count

编辑:

我没有立即注意到您特别要求通过CQL或Java查询Solr。我不确定“stats”是否受

stats=true&stats.field=attributes12322
stats=true&stats.field=attributes12322&stats.field=attributes1&stats.field=attribute51