弹性搜索基于字段值获取结果

时间:2016-01-12 07:57:41

标签: elasticsearch

对于我给出的弹性搜索索引书,

{
    "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条。

那么我怎么能形成一个查询,每个页面都会得到两本书就是这种情况所有五本记录形成了两本书。

有没有办法像分组或聚合一样实现这个目标?

1 个答案:

答案 0 :(得分:0)

重构架构以拥有父阵列和子阵列。