Join ApacheSolr-作为超级查询参数的子查询计数

Join ApacheSolr-作为超级查询参数的子查询计数,join,solr,count,Join,Solr,Count,我在Solr中进行查询时遇到了一些问题。 问题是:我必须能够检索指定字段具有相同值的文档,但只有在指定用户的该值出现X次以上时,才应检索这些文档。 在伪SQL中,它类似于: select user_id from documents where my_field="my_value" and (select count(*) from documents where my_field="my_value" and user_id=super.user_id) > X 我知道solr会为每

我在Solr中进行查询时遇到了一些问题。 问题是:我必须能够检索指定字段具有相同值的文档,但只有在指定用户的该值出现X次以上时,才应检索这些文档。 在伪SQL中,它类似于:

select user_id from documents
where my_field="my_value"
and
(select count(*) from documents where my_field="my_value" and user_id=super.user_id) > X
我知道solr会为每个查询返回一个“numFound”,但我不知道如何在子查询中检索这个值

My Solr的组织方式是,用户是一个文档,用户的属性(如姓名、年龄等)在另一个文档中以“root_id”字段分组。 因此,让我们假设下面的查询获取其子项具有前缀“some_prefix”的所有根文档

现在,我如何才能获得根文档(某种意义上的用户),其中有超过X个子文档匹配“requests\u prefix:“some\u prefix”或任何其他条件? 可能吗


另外,它必须在一个查询中完成,可以随意添加字段,但根/子结构应该保留(优先)。

事实证明,Solr不符合我的需要,我最终使用ElasticSearch及其nativa父子映射

is_root:true AND _query_:"{!join from=root_id to=id}requests_prefix:\"some_prefix\""