Elasticsearch同类排序

时间:2018-05-22 13:56:32

标签: elasticsearch

我有多个es索引 - 数据库中的每个表都保存在单独的索引中。 这些指数中的每一个都有不同的映射,尽管它们提供了类似的数对于我有的日期:

  • 在index1 - First_date ,即datetype(2018-05-22)。
  • 在index2 - First_date ,即整数(2018)
  • 在index3 - justDate - 整数(2017)
  • 在index4 - 日期 - 字符串(" 2018年5月")

是否有同时按所有这些字段进行排序的方法?我想答案可能是脚本排序,但是如果可以通过任何其他方式实现这一点我感兴趣。 如果不是,对于具有相同字段类型的字段,可能至少可以完成相同的操作。

1 个答案:

答案 0 :(得分:0)

它可能看起来像这样:

POST index1,index2,index3,index4/_search
{
  "sort": [
    {"First_date": {"order": "desc"}},
    {"justDate": {"order": "desc"}},
    {"date": {"order": "desc"}}
  ]
}

但我假设你想按日期顺序排序,而这个查询不会给你。

使用脚本解决此任务将对查询时间带来不必要的计算。

我建议你在每个索引中创建日期格式字段并在索引时填充它。在这种情况下,上面的查询将按原样运行。