我们使用elasticsearch 7.2,最近一直在观察一些奇怪的东西
我们尝试执行以下两个查询
{
"query": {
"bool": {
"must": [
{
"term": {
"customer(keyword_field)": "big_customer"
}
}
]
}
}
}
{
"query": {
"bool": {
"filter": [
{
"term": {
"customer(keyword_field)": "big_customer"
}
}
]
}
}
}
这匹配大约一百万个文档。第一个比第二个快(快十倍!)。我预计1会因为得分而变慢
而且,当我添加排序时,它们都变慢了(第2个保持不变,第1个变得和第2个一样慢)
[由于您正在使用未分析的term
查询,即它将不会经过分析过程(字符过滤器,令牌生成器,令牌过滤器),并且因为它们与再次未被分析的关键字字段相匹配,因此将不会再次通过。