在 elasticsearch 或 spring data elasticsearch 中使用源过滤是否有任何性能影响?
Are there any performance impact of using source filtering in elasticsearch or spring data elasticsearch?
我们有 50k-100k 范围内的文档。我们正在使用 spring-data-elasticsearch 的 ElasticsearchOperations
接口,并使用 NativeSearchQueryBuilder()
s withSourceFilter(new FetchSourceFilter(includeFields, excludeFields))
方法只对 return 必填字段。我们想知道这种源过滤是否对性能有影响?即使我们使用简单的 elasticsearch 查询,其中 returns 所有记录但具有源过滤,性能会受到影响吗?还是 return 所有字段更好?我们选择不 return 所有字段,因为某些字段的大小可能更大,即某些字段可能 list/array 包含数千个项目。
是的,排除响应中不需要的字段实际上是个好主意,因为它可以大大减少传输数据所需的带宽,尤其是当您有大字段到 return 时。
您也可以关注 this discuss link 以获取更多信息,请注意过滤它会产生成本,因此您可能需要为不需要的字段设置 store:false
选项检索以进一步加快过滤速度,它可以节省您的磁盘 space 并减少索引时间。
参考store了解更多信息。
我们有 50k-100k 范围内的文档。我们正在使用 spring-data-elasticsearch 的 ElasticsearchOperations
接口,并使用 NativeSearchQueryBuilder()
s withSourceFilter(new FetchSourceFilter(includeFields, excludeFields))
方法只对 return 必填字段。我们想知道这种源过滤是否对性能有影响?即使我们使用简单的 elasticsearch 查询,其中 returns 所有记录但具有源过滤,性能会受到影响吗?还是 return 所有字段更好?我们选择不 return 所有字段,因为某些字段的大小可能更大,即某些字段可能 list/array 包含数千个项目。
是的,排除响应中不需要的字段实际上是个好主意,因为它可以大大减少传输数据所需的带宽,尤其是当您有大字段到 return 时。
您也可以关注 this discuss link 以获取更多信息,请注意过滤它会产生成本,因此您可能需要为不需要的字段设置 store:false
选项检索以进一步加快过滤速度,它可以节省您的磁盘 space 并减少索引时间。
参考store了解更多信息。