如果是多重排序,Elastic Search是否会变慢响应?[非脚本排序]

时间:2018-08-20 12:16:25

标签: elasticsearch search full-text-search elasticsearch-5

我的用例是根据2个字段对ES响应进行排序,第一个字段后跟另一个字段(如果第一个值相同)。

这与脚本排序不同,在脚本排序中,我使用查询中两个字段的值。

想在这里向ES专家询问ES查询的性能影响如何? PS,我已经在进行双重排序了,我希望转换为三重字段排序。

双重排序

{
  "sort" : [
    { "post_date" : {"order" : "asc"}},
    "user",
    { "name" : "desc" }
  ],
  "query" : {
    "term" : { "user" : "kimchy" }
  }
}

VS

三重排序

{
  "sort" : [
    { "post_date" : {"order" : "asc"}},
    "user",
    { "name" : "desc" },
    { "age" : "desc" }
  ],
  "query" : {
    "term" : { "user" : "kimchy" }
  }
}

1 个答案:

答案 0 :(得分:1)

我正在对应用程序中的多个字段进行排序,但没有发现任何负面影响。我也没有在文档中找到任何建议,建议不要按超过N个字段进行排序。

我发现的一件事是Elasticsearch 6.0中引入的Index Sorting功能,但以防万一。您现在可能无需此即可处理。