elasticsearch 包含特定字段是否可以更改elasticsearch结果集?
我有一个ES查询,如果我从结果中排除特定字段,它将返回414个文档 如果包括此字段,文档计数将降至328 删除的文档是一致的,无论是滚动结果还是直接查询,都会发生这种情况 减少结果集的字段的字段映射如下所示:
elasticsearch 包含特定字段是否可以更改elasticsearch结果集?,
elasticsearch,
elasticsearch,我有一个ES查询,如果我从结果中排除特定字段,它将返回414个文档 如果包括此字段,文档计数将降至328 删除的文档是一致的,无论是滚动结果还是直接查询,都会发生这种情况 减少结果集的字段的字段映射如下所示: "completion": { "type": "object", "enabled": false } 没有什么特别的,我还有其他的“启用”:在这个查询中返回很好的假对象类型字段 我使用相同的数据对多个索引进行了测试,以排除损坏(我希望如此) 这个“completi
"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完全解决了这个问题
晦涩难懂,但由于坚持不懈而得以解决 是否可以在添加字段之前添加作为结果一部分的示例文档,并且在添加字段后不会返回结果?是否可以在添加字段之前添加作为结果一部分的示例文档,并且在添加字段后不会返回结果?