0

我需要对 Elastic Search 中的字段进行排序,并将以下符号“_”设置为高于数字的优先级。

假设我有以下内容:

"1"
"2"
"_3"

我想要的排序应该如下排序:

"_3"
"1"
"2" 

我怎样才能做到这一点?

提前致谢

4

1 回答 1

0

如果您知道某些数字不可能作为有效数字添加到文档中,我会建议以下内容:

{
  "sort": {
    "_script": {
      "script": "if (doc['messageText'].value.startsWith('_')) return doc['messageText'].value.substring(1).toInteger()-1000000; return doc['messageText'].value.toInteger()",
      "type": "number",
      "order": "asc"
    }
  }
}
于 2016-07-26T19:45:46.003 回答