带有源过滤的弹性搜索搜索会忽略排除

时间:2018-09-19 18:50:47

标签: elasticsearch

我有一个查询,看起来像下面的样子。由于某种原因,ES 6.4忽略了源过滤器并返回了所有内容。

有人知道吗?

curl -X GET -H "Content-Type: application/json" http://localhost:49153/indexundertest/sometype/_search -d '{
   "query":{
      "bool":{
         "filter":[
            {
               "terms":{
                  "_id":[
                     "AA001"
                  ],
                  "boost":1.0
               }
            }
         ],
         "adjust_pure_negative":true,
         "boost":1.0
      }
   },
   "_source":{
      "includes":[

      ],
      "excludes":[
         "content.es",
         "content.pt",
         "content.zh",
         "content.vi",
         "other.content.es",
         "other.content.pt",
         "other.content.zh",
         "other.content.vi"
      ]
   }
}'

1 个答案:

答案 0 :(得分:0)

似乎是映射问题。

如果我创建没有映射的索引,则带有源过滤的查询将按预期工作。如果包含这些映射,则在源中会看到一个奇怪的结果。 它在匹配的来源字段的关键字中包含了来源的内容,但是其值为“ JSON”。

正在修复我的映射。