最近系統有個需求,希望工作流的審批人被催辦後就要置頂在最前面, 工作流列表我是用es的,一開始想用pinned實現,但用pinned的話,每頁都會置頂在前面,我的需求只是想讓他優先排在前面,翻頁後正常顯示 後面找到這個,通過把匹配到數據的分數提高,然後用sort進行排序,就能實現我的需求了 GET ...
最近系統有個需求,希望工作流的審批人被催辦後就要置頂在最前面,
工作流列表我是用es的,一開始想用pinned實現,但用pinned的話,每頁都會置頂在前面,我的需求只是想讓他優先排在前面,翻頁後正常顯示
後面找到這個,通過把匹配到數據的分數提高,然後用sort進行排序,就能實現我的需求了
GET wf_workflow-latest/_search { "query": { "bool": { "must": [ { "boosting": {
//這是數據過濾條件,影響數據結果 "positive": { "match_all": {} },
//這是相關性數據的過濾條件,不會影響數據結果,對得分有影響 "negative": { "bool": { "must": [ { "nested": { "path": "current_task.reminders", "query": { "term": { "current_task.reminders.reminder_user_id": { "value": 1 } } } } } ] } },
//將匹配到的相關性數據的得分乘以這個繫數 "negative_boost": 10 } } ] } }, "sort": [ "_score", { "last_modification_time": { "order": "asc" } } ], "from": 0, "size": 20 }