SOLR-查询Facet,每个Facet返回N个结果

SOLR-查询Facet,每个Facet返回N个结果,solr,Solr,我在SOLR索引中存储了大量文档。我想执行一个查询,返回指定字段的方面计数,并返回每个方面字段的前100个文档 比如说。假设我的SOLR索引中存储了一堆书 { name: "Book 1", genre: "Mystery" }, { name: "Book 2", genre: "Science Fiction" }, { name: "Book 3", genre: "Romance" }, { name: "Book 4", genre: "Mystery" } 现在,我想在一个字段上指

我在SOLR索引中存储了大量文档。我想执行一个查询,返回指定字段的方面计数,并返回每个方面字段的前100个文档

比如说。假设我的SOLR索引中存储了一堆书

{ name: "Book 1", genre: "Mystery" },
{ name: "Book 2", genre: "Science Fiction" },
{ name: "Book 3", genre: "Romance" },
{ name: "Book 4", genre: "Mystery" }
现在,我想在一个字段上指定一个刻面查询,在本例中,是书的类型
facet=true&facet.field=genre
。此搜索结果可能类似于:

 "facet_fields":{
    "genre":[
       "Mystery",503322,
       "Science Fiction",40759,
       "Romance",23987
    ]
 }
这给了我匹配每种类型的书的数量。如果向查询中添加一个
rows
参数,这将简单地返回与查询匹配的前N个图书

然而,我想更进一步。我希望SOLR将符合我查询的每种类型的前100本书归还给我。这意味着,由于返回了3个方面字段(神秘、科幻和浪漫),此搜索可能会返回多达300个文档

如果可能,我希望所有这些都在一个查询中执行。我能做到吗?我需要多次查询SOLR才能得到我想要的东西吗?如果是这样的话,我推荐的方法是什么


我对SOLR还比较陌生,只是想弄清楚SOLR有什么能力和没有什么能力

看一下in Solr。例如,要获得每个
类型的前100个文档,您可以使用
group=true&group.field=genre&group.limit=100

完美,这正是我想要的。非常感谢。