Elasticsearch:是否可以查询包含多个术语的术语构面

时间:2013-10-10 17:29:56

标签: elasticsearch facet

我的部分映射如下所示:

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

我需要制作一个会返回字段的构面:ID_NODOTEXTOIN_HOMEESTADOCODIGO和{{1}解析它并将其提供给我的应用程序。关键是除了COUNT之外的所有这些字段都依赖于COUNT,也就是说,如果字段ID_NODO相同,则其余信息是相同的......理想情况下,我想让我的方面依赖于整个INFO_NODO字段,而不是它的子字段。 我找到了几个解决方案,但我要么无法正确实现它们,要么它们只是不工作。对我奇怪的情况有什么想法吗?

编辑:我需要做的是:

INFO_NODO

我无法在没有文档的情况下获取语法,因为{ "facets": { "FACET_X_NODO": { "terms": { "field": "INFO_NODO" } } } } 是一个子文档而不是字段。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你应该可以这样做:

{
    "query" : {
        "match_all" : {  }
    },
    "facets" : {
        "info_node_facet" : {
            "terms" : {
                "script_field" : "_source.INFO_NODO.CODIGO + _source.INFO_NODO.ESTADO",
                "size" : 10
            }
        }
    }
}