我有文档类型用户,我想了解为什么使用过滤器需要花费更多时间而不是应用任何过滤器。
例如,想象一下,我有10亿个文档,就像扫描整个十亿个记录一样,通过过滤一些id来进行扫描。
示例查询:
{
"from" : 0,
"size" : 10000,
"stored_fields" : ["first_name", "last_name"],
"query":{
"bool": {
"filter": {
"ids" : {
"type" : "user",
"values" : [
"547303",
**"another 200k ids"** ]
}
}
}
}
}
目前的基准: 1 - 不使用过滤器需要大约400毫秒 2 - 通过传递200k ID过滤器需要大约2100 ms