ElasticSearch置顶方案

[复制链接]
发表于 2023-8-28 23:33:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
最近系统有个需求,希望工作流的审批人被催办后就要置顶在最前面,
工作流列表我是用es的,一开始想用pinned实现,但用pinned的话,每页都会置顶在前面,我的需求只是想让他优先排在前面,翻页后正常显示
后面找到这个,通过把匹配到数据的分数提高,然后用sort进行排序,就能实现我的需求了
  1. GET wf_workflow-latest/_search
  2. {
  3.   
  4.   "query": {
  5.     "bool": {
  6.       "must": [
  7.         {
  8.           "boosting": {<br>        //这是数据过滤条件,影响数据结果
  9.             "positive": {
  10.               "match_all": {}
  11.             },<br>        //这是相关性数据的过滤条件,不会影响数据结果,对得分有影响
  12.             "negative": {
  13.               "bool": {
  14.                 "must": [
  15.                   {
  16.                     "nested": {
  17.                       "path": "current_task.reminders",
  18.                       "query": {
  19.                         "term": {
  20.                           "current_task.reminders.reminder_user_id": {
  21.                             "value": 1
  22.                           }
  23.                         }
  24.                       }
  25.                     }
  26.                   }
  27.                 ]
  28.               }
  29.             },<br>        //将匹配到的相关性数据的得分乘以这个系数
  30.             "negative_boost": 10
  31.           }
  32.         }
  33.       ]
  34.     }
  35.   },
  36.   "sort": [
  37.     "_score",
  38.     {
  39.       "last_modification_time": {
  40.         "order": "asc"
  41.       }
  42.     }
  43.   ],
  44.   "from": 0,
  45.   "size": 20
  46. }
复制代码
 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表