2016-04-13 17 views
3

lastRepliedTime ve createdTime öznitelikleriyle Post modelim varsa başka bir alan kullan. Bu Post'u lastRepliedTime ile nasıl ayırabilirim, ancak değeri null olduğunda, createdTime sort değeri olarak kullanıyorum?Elasticsearch bir alana göre sırala ve

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 

kullanıyorum çözüm buldum: Bir çeşit küçükten büyüğe göre, böyle olmasını sıralama sonucunu istiyorsanız

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 

:

Örneğin, bu verilere sahip MySQL, here. Ancak Elasticsearch kullanarak sıralamak için herhangi bir yolu var mı?

cevap

1

{ 
    "sort": [ 
     { "lastRepliedTime": { "order": "asc" }}, 
     { "createdTime": { "order": "asc" }} 
    ], 
    "query" : { 
     "match_all" : { } 
    } 
} 
+0

İstediğim sonucu vermiyor. Soruyu bir örnekle güncelledim. Teşekkür ederim. – rap13