要不要也来分享分享一下啊

父子文档, 查询子文档, has_child方法, 查询速度过慢,是什么情况

Elasticsearch | 作者 fanfan0914 | 发布于2022年01月17日 | 阅读数:1390

增加了子文档查询后, 查询效率就会很差:
{"track_total_hits": true,"from":20,"size":10,"sort":[{"edittime":"desc"}],
"query":{ "bool": {"must": [
{"bool": {"must":[{"match_phrase":{ "comname":"餐饮"}}]}},
{"has_child": {"type": "lxfs","query": {"term": {"contacttype": 0}}}}
]}} }

一旦去掉子集has_child查询, 查询效率很快:
{"track_total_hits": true,"from":20,"size":10,"sort":[{"edittime":"desc"}],
"query":{ "bool": {"must": [
{"bool": {"must":[{"match_phrase":{ "comname":"餐饮"}}]}}
]}} }
已邀请:

zcc_vv - 95

赞同来自:

可以检查几个地方。1.是否开启了预热全局序号  2.子查询的命中doc数是否太多,这个可以通过profile看下join查询的rewrite时间是否很大。因为join子查询最终会被重写成biset数组,所以最好吧子查询限制一下。
 

要回复问题请先登录注册