对于我给出的弹性搜索索引书,
{
"books": [
{
"id": 1,
"title": "Title 1",
"store": "store1" ,
"bookid": "01"
},
{
"id": 2,
"title": "Title 1",
"store": "store2" ,
"bookid": "01"
},
{
"id": 4,
"title": "Title 2",
"store": "store2" ,
"bookid": "02"
},
{
"id": 5,
"title": "Title 2",
"store": "store3" ,
"bookid": "02"
},
{
"id": 6,
"title": "Title 2",
"store": "store3" ,
"bookid": "02"
},
{
"id": 7,
"title": "Title 1",
"store": "store3" ,
"bookid": "03"
}
]
}
现在,如果我传递“"from" : 0, "size" : 2
”,每页可以获得两本书,默认情况下我只会获得前两个记录。
现在,与一个图书ID相关的记录数量可能非常多。即Book 01在Elastic Search中可能有2条记录,而Book 02可能有3条或4条。
那么我怎么能形成一个查询,每个页面都会得到两本书就是这种情况所有五本记录形成了两本书。
有没有办法像分组或聚合一样实现这个目标?
答案 0 :(得分:0)
重构架构以拥有父阵列和子阵列。