我有一个奇怪的情况:在我的多面查询中,其中一个方面导致查询的执行速度比任何其他方面都要慢得多。一般来说,如果存在这个特定方面,无论有多少其他方面,查询都会慢约 5 倍。用于计算方面的所有字段的映射完全相同。
有没有人有任何想法可能导致这种行为?
慢速方面(取回数据大约需要 1400 毫秒):
{
"facets": {
"postal_code": {
"terms": {
"field": "postal_code_untouched"
}
}
},
"query": {
"match_all": {}
}
}
快速方面(大约需要 300 毫秒才能得到结果):
{
"facets": {
"category": {
"terms": {
"field": "category_description_untouched"
}
}
},
"query": {
"match_all": {}
}
}
映射:
category_description_untouched: {
type: string
analyzer: keyword_lowercase
include_in_all: false
}
postal_code_untouched: {
type: string
analyzer: keyword_lowercase
include_in_all: false
}
类别描述只是自由文本;邮政编码是英国邮政编码,因此类似于“GU51 4BE”。索引中的文档总数为 4,156,339。