Elasticsearch聚合与自定义查询解析器

时间:2016-09-15 08:25:33

标签: elasticsearch elasticsearch-plugin

使用自定义查询解析器时,我似乎无法聚合查询结果。我得到的结果集不是聚合的。当使用像匹配这样的标准查询解析器时,一切都很顺利。

什么有效:

GET pages/_search
{
  "query": {
    "match": {
      "text": "binomial"
    }
  },
  "aggs": {
    "docs": {
      "terms": {
        "field": "rooturl"
      }
    }
  }
}

返回一个很好的聚合结果:

{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "hits": {
    "total": 10,
    "max_score": 11.11176,
    "hits": [
    ...
      {
        "_index": "pages",
        "_type": "doc",
        "_id": "AVcq6z6lzDazctHi91RE",
        "_score": 3.3503218,
        "_source": {
          "rooturl": "document",
          "type": "equation",
          "url": "document:poly",
          "text": "coefficient"
        }
      },
      {
        "_index": "pages",
        "_type": "doc",
        "_id": "AVcq6z6xzDazctHi91RF",
        "_score": 3.3503218,
        "_source": {
          "rooturl": document",
          "type": "equation",
          "url": "document:poly",
          "text": "dot"
        }
      }
    ...
    ]
  },
  "aggregations": {
    "docs": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": [
        {
          "key": "document",
          "doc_count": 10
        }
      ]
    }
  }
}

但是在使用我的自定义查询解析器时,结果不会聚合。

查询:

GET pages/_search
{
  "query": {
    "my_custom_query_parser": {
      "query": "binomial"
    }
  },
  "aggs": {
    "docs": {
      "terms": {
        "field": "rooturl"
      }
    }
  }
}

有人能指出我正确的方向吗?

0 个答案:

没有答案