ElasticSearch如何使用多字段的另一个字段对聚合的结果进行排序

时间:2016-02-01 14:32:11

标签: sorting elasticsearch

我正在尝试对聚合的结果进行排序 我正在使用elasticsearch 1.7。

我使用带有asciifolded(主题)的分析字段的多字段和另一个未分析的字段(themes.raw)。

此查询正在运行,但按未分析字段排序。

有办法吗?

映射分析仪:

"settings": {
    "analysis": {
        "analyzer": {
            "analyzer_en": {
                "type": "custom",
                "tokenizer": "my_edge_ngram_tokenizer",
                "filter":  ["stop_custom_en", "stop_orig_en", "asciifolding", "lowercase", "snowball_en" ]
            }
        }
    }
}

映射multi_field:

"properties": {
    "themes": {
        "type" : "multi_field",
        "fields": {
            "themes": {
                "type": "string",
                "analyzer": "analyzer_en"
            },
            "raw": {
                "type": "string",
                "index": "not_analyzed"
            }
        }
    }
}

聚合调用:

"aggregations": {
  "themes": {
    "terms" : {
      "field": "themes.raw",
      "size" : 100,
      "order": {
        "_term": "asc"
      }
    }
  }
}

0 个答案:

没有答案