3

我有这样结构的文件:

{
    id: 312256,
    name: "SomeName",
    filterBlocks: [{
            id: 0
            filterTypeId: 4
            filterItems: [
                1190
            ]
        }, {
            id: 0
            filterTypeId: 3
            filterItems: [
                353
            ]
        }, {
            id: 234
            filterTypeId: 1
            filterItems: [
                6342
            ]
        }
    ]
}

对于 filterBlocks.id+filterBlocks.filterTypeId 的每个不同组合,我需要在 filterItems 字段上使用 N 个大小的方面。我尝试使用如下查询:

{
    "query": {
        "match_all": {}
    },
    "facets": {
        "filterBlocks": {
            "terms": {
                "field": "filterBlocks.filterItems"
            }
        }
    }
}

但是当然我只得到 N 个方面而不按 filterBlocks.id+filterBlocks.filterTypeId 分组

我需要在查询或文档结构中修改什么以使其正确?谢谢

4

1 回答 1

0

您将需要首先查询以获取所有 filterBlocks.id/filterBlocks.filterType 组合,然后遍历结果以使用每个组合的构面过滤器构建构面搜索。

在第一个查询中使用术语方面可能是获得一组独特结果的好方法。

于 2013-07-28T21:25:13.750 回答