Sorting Elasticsearch按字段排序,如果为空,则使用另一个字段
我的Sorting Elasticsearch按字段排序,如果为空,则使用另一个字段,sorting,
elasticsearch,Sorting,
elasticsearch,我的Post模型具有lastRepliedTime和createdTime属性。如何按lastRepliedTime对该Post进行排序,但当其值为null时,我使用createdTime作为排序值 例如,我有以下数据: ID createdTime lastRepliedTime 1 2015-05-27 13:48:10 2015-06-04 16:34:43 2 2015-06-09 05:23:38 2015-06-24 00:30:06 3 2015
Post
模型具有lastRepliedTime
和createdTime
属性。如何按lastRepliedTime
对该Post
进行排序,但当其值为null时,我使用createdTime
作为排序值
例如,我有以下数据:
ID createdTime lastRepliedTime
1 2015-05-27 13:48:10 2015-06-04 16:34:43
2 2015-06-09 05:23:38 2015-06-24 00:30:06
3 2015-06-09 17:34:56 NULL
如果我按升序排序,我希望排序结果如下:
ID createdTime lastRepliedTime
1 2015-05-27 13:48:10 2015-06-04 16:34:43
3 2015-06-09 17:34:56 NULL
2 2015-06-09 05:23:38 2015-06-24 00:30:06
我在中找到了使用MySQL的解决方案。但是有没有办法使用Elasticsearch对其进行排序?您尝试过吗
{
"sort": [
{ "lastRepliedTime": { "order": "asc" }},
{ "createdTime": { "order": "asc" }}
],
"query" : {
"match_all" : { }
}
}
它没有给出我想要的结果。我用一个例子更新了这个问题。非常感谢。