假设我有以下内容:
Name Date
----- -------------------
Alice 2013-02-10 15:17:00
Alice 2013-02-10 16:19:00
Alice 2013-02-10 17:21:00
Bob 2013-02-10 18:23:00
Alice 2013-02-10 19:25:00
这是我按日期排序,然后按名称排序时发生的情况。它首先考虑小时。我真正想要的是:
Name Date
----- -------------------
Alice 2013-02-10 15:17:00
Alice 2013-02-10 16:19:00
Alice 2013-02-10 17:21:00
Alice 2013-02-10 19:25:00
Bob 2013-02-10 18:23:00
因此,我想首先按
%Y-%m-%d
排序,然后按名称排序。那可能吗?
谢谢
最佳答案
看来您可以为此使用_script排序:
"sort": {
"_script": {
"script": "new java.text.SimpleDateFormat('yyyy-MM-dd').format(new Date(doc['date'].value))",
"type": "string",
"order": "desc"
},
"name": "asc"
请注意,这是一个安全缺陷。在http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html阅读更多
关于elasticsearch - 如何使用Elastic Search按格式日期排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315472/