当我使用分组结果进行搜索并执行组限制时,我得到的numFound与我不使用限制时的相同。
看起来SOLR首先执行搜索并计算numFound然后限制结果。
我不能使用分页和其他东西。 是否有任何解决方法或我错过了什么?
示例:
======================================
| id | publisher | book_title |
======================================
| 1 | A1 | Title Book |
| 2 | A1 | Book title 123 |
| 3 | A1 | My book |
| 4 | B2 | Hi book title |
| 5 | B2 | Another Book |
如果我执行查询:
q=book_title:book
&group=true
&group.field=publisher
&group.limit=1
&group.main=true
我会获得 numFound 5 ,但结果只有 2 。
"response": {
"numFound": 5,
"docs": [
{
"book_title": "My book",
"publisher": "A1"
},
{
"book_title": "Another Book",
"publisher": "B2"
}
]
}
答案 0 :(得分:4)
将group.ngroups设置为true
。
这将产生
"grouped": {
"bl_version_id": {
"matches": 53,
"ngroups": 18,
"groups": [
{
...
答案 1 :(得分:1)
我遇到了同样的问题,无法找到修复根本原因的方法,但我会将此解决方案作为解决方法分享。
我做的是
将这些分面参数添加到您的查询中:
&facet=true
&facet.limit=-1
&facet.field=publisher
注意:
答案 2 :(得分:1)
答案 3 :(得分:-1)