filter_duplicate_text 聚合查询无效

filter_duplicate_text not working aggregation query

我正在尝试复制 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" }

                }
            }
        }
    }
}

我收到这条错误消息:"Expected [START_OBJECT] under [filter_duplicate_text], but got a [VALUE_BOOLEAN] in [keywords]"。我没有意识到发生了什么,因为如果我删除行 "filter_duplicate_text": true,那么查询将按预期工作。

有人知道怎么解决吗?谢谢

查看 reference,看来你把 filter_duplicate_text 放错地方了。它应该是 field 而不是 significant_text 的兄弟姐妹,例如:

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