【发布时间】:2021-09-13 13:41:03
【问题描述】:
我正在使用弹性搜索 7.9.0
存储的文档如下:
{
"student": {
"marks": [
{
"sub": 80
},
{
"sub": 90
},
{
"sub": 100
}
],
"total_marks": 270
}
}
如果学生缺席考试,我的文件将是
{
"student": {
"marks": [
{
"sub": 0
},
{
"sub": 0
},
{
"sub": 0
}
],
"total_marks": 0
}
}
现在在搜索学生时,我的命中应该包含所有学生,但缺席的学生应该排在最后。
我不应该在总分上添加排序。
还有一些字段要匹配,排序应该根据elasticsearch的默认评分来完成。比如topper可能先来,或者不及格的学生也可能先来,但所有缺席的学生都应该最后来。
我们怎样才能做到这一点?
我尝试为totalmarks 添加负提升。它没有按预期工作。
请帮我。提前致谢。
【问题讨论】:
标签: elasticsearch