请教 es7 中的排序规则问题

2021 年 8 月 27 日
 KarlC
请问可以自定义某个字段的排序规则吗,例如按照 1 、0 、2,而不是升序或者降序,谢谢!
7797 次点击
所在节点    Elasticsearch
11 条回复
xiaoming1992
2021 年 8 月 27 日
``` typescript

type T = 'what ever'

// 这儿写入你希望的排序
const SORT_LIST: T[] = []

function sort(a: T, b: T) {
. const idxA = SORT_LIST.indexOf(a)
. const idxB = SORT_LIST.indexOf(b)
. return idxA - idxB
}

```
xiaoming1992
2021 年 8 月 27 日
@xiaoming1992 写得比较捞
xiaoming1992
2021 年 8 月 27 日
md 好像回复错了,此 es7 非彼 es7...
Belmode
2021 年 8 月 28 日
@xiaoming1992 笑死了,你这 B 不装完,不准走!!😂
SuperManNoPain
2021 年 8 月 28 日
😅
IvanLi127
2021 年 8 月 28 日
我还在想怎么会有人问 es7,不都 es6 嘛 原来不是这个 es 而是那个 es
update
2021 年 8 月 28 日
script 排序
大致类似:
if (doc['字段名'].value == 1) {
return 1
} elseif (doc['字段名'].value == 0){
return 2
} elseif (doc['字段名'].value == 2){
return 3
}

具体搜下相关文档
KarlC
2021 年 8 月 28 日
@update 好的谢谢,我去看看
pjntt
2021 年 8 月 28 日
可以试一下用 script 的聚合方式
KarlC
2021 年 8 月 28 日
@pjntt 用 script 解决了,谢谢
goodboy95
2021 年 8 月 28 日
@xiaoming1992 我一个后端 C#开发,看到 ES 第一反应也是 ECMAScript

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/798435

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX