ElasticSearch置顶方案

打印 上一主题 下一主题

主题 575|帖子 575|积分 1729

最近系统有个需求,希望工作流的审批人被催办后就要置顶在最前面,
工作流列表我是用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. }
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表