elasticsearch 包含特定字段是否可以更改elasticsearch结果集?,elasticsearch,elasticsearch" /> elasticsearch 包含特定字段是否可以更改elasticsearch结果集?,elasticsearch,elasticsearch" />

elasticsearch 包含特定字段是否可以更改elasticsearch结果集?

elasticsearch 包含特定字段是否可以更改elasticsearch结果集?,elasticsearch,elasticsearch,我有一个ES查询,如果我从结果中排除特定字段,它将返回414个文档 如果包括此字段,文档计数将降至328 删除的文档是一致的,无论是滚动结果还是直接查询,都会发生这种情况 减少结果集的字段的字段映射如下所示: "completion": { "type": "object", "enabled": false } 没有什么特别的,我还有其他的“启用”:在这个查询中返回很好的假对象类型字段 我使用相同的数据对多个索引进行了测试,以排除损坏(我希望如此) 这个“completi

我有一个ES查询,如果我从结果中排除特定字段,它将返回414个文档

如果包括此字段,文档计数将降至328

删除的文档是一致的,无论是滚动结果还是直接查询,都会发生这种情况

减少结果集的字段的字段映射如下所示:

"completion": {
     "type": "object",
     "enabled": false
}
没有什么特别的,我还有其他的“启用”:在这个查询中返回很好的假对象类型字段

我使用相同的数据对多个索引进行了测试,以排除损坏(我希望如此)

这个“completion”对象是一个嵌套且被忽略的对象,它有4或5个嵌套级别,但我还有其他类似的嵌套对象,它们对于这个查询返回的结果很好

该查询是414个术语的简单匹配(是的,这很糟糕,我们正在重新考虑我们在这方面的策略):

查询是:

"query": {
        "terms": {
            "_id": [
                "....",
                "....",
                "...."
            }
        }
}
在本例中,我将只返回328个结果。如果我在_source_exclude中添加“completion”,那么我将得到完整的设置

所以,我的问题是:当一个字段与搜索完全无关时,在结果中包含一个字段可能会限制搜索的场景是什么

#的特定于此示例,但在查询中是一致的。我只是把它们作为整体问题的背景


同样重要的是,此完成字段在包含的记录和排除的记录中具有相同的数据和格式,我看不到任何可能导致问题的内容。

问题已被发现,并且不清楚。我们看到的是,它总是在同一点上失败,当它被更仔细地检查时,同样的错误出现了:

{ took: 158,
 timed_out: false,
 _shards:
  { total: 5,
    successful: 4,
    skipped: 0,
    failed: 1,
    failures: [ [Object] ] },
[ { shard: 0,
   index: ‘theindexname’,
   node: ‘4X2vwouIRriYbQTQcHQ_sw’,
   reason:
    { type: ‘illegal_argument_exception’,
      reason:
       ‘cannot write xcontent for unknown value of type class java.math.BigInteger’ } } ]
好吧,这很奇怪,我们根本不用大整数。但是,由于谷歌的强大力量,elasticsearch问题追踪器中的这一问题被披露:

“XContentBuilder处理BigInteger和BigDecimal”,这是6.3中的一个错误,其中使用BigInteger和BigDecimal的字段无法序列化,因此在应用源筛选时会中断。我们运行的是6.3

目前还不清楚为什么我们的系统会引发这个问题,但升级到6.5完全解决了这个问题


晦涩难懂,但由于坚持不懈而得以解决

问题被发现了,而且还不清楚。我们看到的是,它总是在同一点上失败,当它被更仔细地检查时,同样的错误出现了:

{ took: 158,
 timed_out: false,
 _shards:
  { total: 5,
    successful: 4,
    skipped: 0,
    failed: 1,
    failures: [ [Object] ] },
[ { shard: 0,
   index: ‘theindexname’,
   node: ‘4X2vwouIRriYbQTQcHQ_sw’,
   reason:
    { type: ‘illegal_argument_exception’,
      reason:
       ‘cannot write xcontent for unknown value of type class java.math.BigInteger’ } } ]
好吧,这很奇怪,我们根本不用大整数。但是,由于谷歌的强大力量,elasticsearch问题追踪器中的这一问题被披露:

“XContentBuilder处理BigInteger和BigDecimal”,这是6.3中的一个错误,其中使用BigInteger和BigDecimal的字段无法序列化,因此在应用源筛选时会中断。我们运行的是6.3

目前还不清楚为什么我们的系统会引发这个问题,但升级到6.5完全解决了这个问题


晦涩难懂,但由于坚持不懈而得以解决

是否可以在添加字段之前添加作为结果一部分的示例文档,并且在添加字段后不会返回结果?是否可以在添加字段之前添加作为结果一部分的示例文档,并且在添加字段后不会返回结果?