因此有一个初步的猜想, 就是执行fetch阶段时可能不符合我们的预期.
阅读官方文档
让我们来看看官方文档里提供的获取字段的几种方式....可以用来取支持docvalue的字段(不需要显示指定, 支持的数据类型默认会存docvalue), 避免读取整个_source....不支持嵌套对象.
stored_fields: 可以用来取支持store的字段(需要显示指定store=true), 一般不推荐使用, 比起这个方式更推荐用_source....4000/20=200个文档, 并且多个shard是并发执行的, 这个过程会增加100ms那么多时间吗?...而且官方文档其实也指出了这一点:
[doc.png]
因为是query_then_fetch的模式, 这样在fetch阶段, 每个shard需要获取字段的文档数应该接近size/shard_size,