提问:布和纸怕什么?

elasticsearch 的term 查询所有数据慢问题

Elasticsearch | 作者 w565039616 | 发布于2018年11月23日 | 阅读数:3057

请问我使用elasticsearch 的term 去查询 一个字段全匹配的有多少数据 并且拿到所有的数据放到集合中,数据量太大导致查询很慢怎么处理那?
 
GET call/default/_search
{
  "size": 500
  ,"query" : {
    "bool" : {
      "must" : {
        "range" : {
          "dt" : {
            "from" : "2018-11-09",
            "to" : "2018-11-25",
            "include_lower" : true,
            "include_upper" : true
          }
        }
      },
      "should" : [ {
        "term" : {
          "calltype" : "标准问题模型->其他->非转接(B)->商户问题->其他问题"
        }
      } ]
    }
  }
}
 
这样查询需要好多秒 怎么优化那?   因为我需要拿到所有的数据size 可能更大    如果使用默认的 只有10条   
已邀请:

weizijun - elasticsearch fan

赞同来自:

这里should应该换成must会快很多

rochy - rochy_he

赞同来自:

首先把 bool 下面的 must 换成 filter;
然后如果你需要获取全部结果,请使用 scroll

要回复问题请先登录注册