即时使用solr 4.3.0我需要从每组的最小值中排序(asc / desc)。
我使用以下查询来实现基于价格的group.sort,如下所示,
查询:group.field = ID&安培; group.ngroups =真安培; group.sort = price_USD + ASC&安培;基团=真安培; group.facet =真安培; group.limit = 1 结果:
{
"grouped": {
"category": {
"matches": 9,
"groups": [
{
"groupValue": "11121",
"doclist": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "233",
"catentry_id": "ProductBean",
"price_USD": 24,
"category": "11121",
"version": 1566834290000396300
}
]
}
},
{
"groupValue": "111",
"doclist": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "2",
"catentry_id": "ProductBean",
"price_USD": 24,
"category": "111",
"version": 1566833543360807000
}
]
}
},
{
"groupValue": "11112",
"doclist": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "22",
"catentry_id": "ProductBean",
"price_USD": 22,
"category": "11112",
"version": 1566833809098276900
}
]
}
}
]
}
}
}
但是对查询应用排序没有按预期工作,因为它正在考虑每个组中的所有值不限制每个组的最小值。
请帮助我
答案 0 :(得分:0)
group.sort
将对组内的文档进行排序。因此,在您的情况下,组中的结果将根据price_USD
字段进行排序,但您的组将根据分数进行排序。
为了相对于彼此对组进行排序,还要使用sort参数。
将&sort=price_USD asc
附加到您的查询中。
有关详细信息,请参阅here。