1

我的部分映射如下所示:

{
  ...
  INFO_NODO: {
    properties: {
      CODIGO: {
        type: string
      }
      ESTADO: {
        type: string
      }
      IN_HOME: {
        type: string
      }
      TEXTO: {
        type: string
      }
      ID_NODO: {
        type: integer
      }
      ...
    }
  }
}

我需要创建一个将返回字段的方面:ID_NODO, TEXTO, IN_HOME, ESTADO, CODIGO, 并COUNT对其进行解析并将其提供给我的应用程序。关键是除了所有这些字段COUNT都依赖于ID_NODO,也就是说,如果字段INFO_NODO相同,其余信息也相同......理想情况下,我想让我的方面依赖于整个INFO_NODO字段而不是它的子领域。我找到了几个解决方案,但我要么无法正确实施它们,要么就是无法正常工作。对我奇怪的情况有什么想法吗?

编辑:我需要做的是:

{
  "facets": {
    "FACET_X_NODO": {
      "terms": {
        "field": "INFO_NODO"
      }
    }
  }
}

我只是无法在任何文档中获得语法,因为INFO_NODO它是子文档而不是字段。

4

1 回答 1

1

如果我理解正确,您应该能够执行以下操作:

{
    "query" : {
        "match_all" : {  }
    },
    "facets" : {
        "info_node_facet" : {
            "terms" : {
                "script_field" : "_source.INFO_NODO.CODIGO + _source.INFO_NODO.ESTADO",
                "size" : 10
            }
        }
    }
}
于 2013-10-10T23:40:15.743 回答