我正试图找到一种方法,以获取独特的价值观,基于一个群体。其想法是按id进行分组,然后返回该组值。
查询params fl=valueIwant+myID&group=true&group.field=myId&q=
"grouped": {
"myID": {
"matches": 7520236,
"groups": [{
"groupValue": "123456",
"doclist": {
"numFound": 6583,
"start": 0,
"docs": [{
"myID": 123456,
"valueIwant": "Hello World"
}]
}
}
]
}
}这很好,但是我想要做的是以不同的方式选择'valueIwant‘。group.limit将在文档中返回更多的值,但它不会是唯一的。有办法限制group.limit只返回唯一的fl值吗?在上面的例子中找到6583。我将不得不扩大到6583,然后扩大到独特的限制。当我有700个唯一的i,我想用总共4400万个文档对其进行分组时,这种情况就更加复杂了。
例如。如果我做了
fl=valueIwant+myID&group.limit=3&group=true&group.field=myId&q=
"grouped": {
"myID": {
"matches": 7520236,
"groups": [{
"groupValue": "123456",
"doclist": {
"numFound": 6583,
"start": 0,
"docs": [{
"myID": 123456,
"valueIwant": "Hello World"
},
{
"myID": 123456,
"valueIwant": "Hello World"
}
{
"myID": 123456,
"valueIwant": "Hello World123456"
}]]
}
}
]
}
}我想要的是文档在valueIwant中是唯一的,就像这样
"grouped": {
"myID": {
"matches": 7520236,
"groups": [{
"groupValue": "123456",
"doclist": {
"numFound": 6583,
"start": 0,
"docs": [{
"myID": 123456,
"valueIwant": "Hello World"
},
{
"myID": 123456,
"valueIwant": "Hello Planet"
}
{
"myID": 123456,
"valueIwant": "Hello World123456"
}]]
}
}
]
}
}有办法这样做吗?我在看函数,但找不到我需要的东西。
谢谢,
-Peddler
发布于 2021-04-21 15:14:52
我可以用小面枢轴来做这个。这之后最困难的事情是解析响应,因为它作为一个非常嵌套的对象返回。您可以在这里看到我的第一个解决方案,Dynamically traversing a deep nested object and accumulating results和我关于使它更“动态”的问题。
facet: true,
'facet.mincount': 1,
'facet.sort': 'index',
'facet.limit': 5,
'facet.pivot': 'pivotvalue0, pivotvalue1, pivotvalue2, pivotvalue3'https://stackoverflow.com/questions/62679939
复制相似问题