如何在基于多个嵌套字段的ElasticSearch中进行搜索

如何在基于多个嵌套字段的ElasticSearch中进行搜索,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我正在产品文档中嵌入产品属性,我希望进行聚合,当其值大于0时,该聚合应返回属性的名称 我应该如何组合查询 ======================================================= ElasticSearch中存储的数据示例如下: 从下面的数据集中,我希望结果是:[“糖”,“脂肪”],因为没有产品含有水 [{ 名称:“产品1”, 价格:12.0, 特性:[ { 组:“产品组成”, 名称:“糖”, 价值:1 }, { 组:“产品组成”, 名称:“脂肪”, 价值:

我正在产品文档中嵌入产品属性,我希望进行聚合,当其值大于0时,该聚合应返回属性的名称

我应该如何组合查询

=======================================================

ElasticSearch中存储的数据示例如下:

从下面的数据集中,我希望结果是:[“糖”,“脂肪”],因为没有产品含有水

[{
名称:“产品1”,
价格:12.0,
特性:[
{
组:“产品组成”,
名称:“糖”,
价值:1
},
{
组:“产品组成”,
名称:“脂肪”,
价值:2
},
{
组:“产品组成”,
名称:“水”,
数值:0
},
{
组:“包装”,
名称:“尺寸”,
价值:“大”
}
]
}, {
名称:“产品2”,
价格:11.0,
特性:[
{
组:“产品组成”,
名称:“糖”,
数值:0
},
{
组:“产品组成”,
名称:“脂肪”,
价值:2
},
{
组:“产品组成”,
名称:“水”,
数值:0
},
{
组:“包装”,
名称:“尺寸”,
价值:“小”
}
]
}]
=======索引映射========

{
“测试产品”:{
“映射”:{
“产品”:{
“动态模板”:[
{
“模板1”:{
“路径匹配”:“properties.value”,
“匹配映射类型”:“双”,
“映射”:{
“比例系数”:100,
“类型”:“缩放浮点数”
}
}
},
{
“模板2”:{
“路径匹配”:“properties.value”,
“匹配映射类型”:“字符串”,
“映射”:{
“字段”:{
“原始”:{
“忽略上面的内容”:100,
“类型”:“关键字”
}
},
“类型”:“文本”
}
}
}
],
“财产”:{
“姓名”:{
“类型”:“文本”,
“字段”:{
“原始”:{
“类型”:“关键字”
}
}
},
“价格”:{
“类型”:“双”
},
“财产”:{
“类型”:“嵌套”,
“财产”:{
“集团”:{
“类型”:“文本”,
“字段”:{
“原始”:{
“类型”:“关键字”
}
}
},
“姓名”:{
“类型”:“文本”,
“字段”:{
“原始”:{
“类型”:“关键字”
}
}
},
“价值”:{
“类型”:“文本”
}
}
}
}
}
}
}
}

您将在响应中获得属性>以下查询的内部点击

查询:

GET test_products/_search
{
  "query": {
    "nested": {
      "path": "properties",
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "properties.value": {  --> check for value greater than 0
                  "gt": 0
                }
              }
            }
          ],
          "must_not": [
            {
              "term": {
                "properties.group.raw": { ---> remove packaging
                  "value": "Packaging"
                }
              }
            }
          ]
        }
      },
      "inner_hits": {}   ----> in response will give matched nested documents
    }
  }
}

请分享您的相关数据映射,以便我可以在我的测试集群中模拟它。您好@apt-get\u instal\u skill,很抱歉回复太晚,我已经在问题中添加了索引映射。