filter_duplicate_text无法正常工作聚合查询

时间:2018-03-16 19:16:11

标签: elasticsearch elasticsearch-aggregation

我正在尝试从https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significanttext-aggregation.html复制filter_duplicate_text示例。

这些是我的设置,地图和文档:

PUT /ods
{
  "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 0,
      "analysis": {
          "filter": {
              "brazilian_stop": {
                  "type": "stop",
                  "stopwords": "_brazilian_"
              },
              "brazilian_stemmer": {
                  "type": "stemmer",
                  "language": "brazilian"
              }
          },
          "analyzer": {
              "brazilian": {
                  "tokenizer": "standard",
                  "filter": [
                      "lowercase",
                      "brazilian_stop",
                      "brazilian_stemmer"
                  ]
              }
          }
      }
  }
}

PUT /ods/_mapping/ods
{"properties": {"descricao": {"type": "text", "analyzer": "brazilian"},"metaodsid": {"type": "integer"}}}


POST /_bulk
{"index":{"_index":"ods","_type":"ods", "_id" : "1" }}
{ "descricao": "erradicar a pobreza","metaodsid": 1}
{"index":{"_index":"ods","_type":"ods", "_id" : "2" }}
{"descricao": "crianças que vivem na pobreza", "metaodsid": 1}
{"index":{"_index":"ods","_type":"ods", "_id" : "3" }}
{"descricao": " Melhorar a educação e adaptação, redução de impacto e da mudança do clima", "metaodsid": 2}
{"index":{"_index":"ods","_type":"ods", "_id" : "4" }}
{"descricao": "Integrar medidas da mudança do clima nas políticas", "metaodsid": 2}

当我运行以下查询时:

GET /ods/_search
{
  "query": {
      "bool": {
        "filter": {
          "term": {
            "metaodsid": 2
          }
        }
      }
    },
    "aggs" : {
        "my_sample" : {
            "sampler" : {
                "shard_size" : 10
            },
            "aggs": {
                "keywords" : {
                  "filter_duplicate_text": true,
                  "significant_text" : { "field" : "descricao" }

                }
            }
        }
    }
}

我收到了这条错误消息:“预期[filter_duplicate_text]下的[START_OBJECT],但[keywords]中有[VALUE_BOOLEAN]”。我没有意识到发生了什么,因为如果我删除行“filter_duplicate_text”:true,那么查询将按预期工作。

有谁知道如何解决它?感谢。

1 个答案:

答案 0 :(得分:1)

查看reference,看起来你在错误的地方找到了filter_duplicate_text。它应该是field而不是significant_text的兄弟姐妹,所以像:

"aggs": {
    "keywords" : {
        "significant_text" : {
            "field" : "descricao",
            "filter_duplicate_text": true
        }
    }
}