elasticsearch - 按“是数组中的项”对结果进行排序
问题描述
我有一个数据集,其中在每个文档中都包含一组用户 ID,这些用户 ID 已将文档标记为“首选”文档。我希望能够对我的文档进行排序,以便在其他文档之前首先显示这些首选文档。
那么,如何按“数组包含 X”对一组结果进行排序,其中 X 是给定的用户 ID?我仍然想包含所有结果,但将包含匹配用户 ID 的结果排序到顶部。
解决方案
查看script_score
可让您根据自定义脚本修改排名的功能。您的自定义脚本可以提升与当前用户关联的文档。请参阅https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html
推荐阅读
- angular - copy assets from one of the package from node_modules
- batch-file - groovy 脚本中 env.BUILD_URL 的 Jenkins url 编码问题
- android - Firebase authen robo 卡在 gmail 登录
- angular - Angular + PWA = 没有 SSR?
- python - 如何在python中将数据框插入到mysql表中?
- ruby - 如何按索引对数组元素进行分组?
- gcc - 升级到 gcc9.3 后在 lto-wrapper 中链接段错误但 LTO 被禁用
- android - 模拟器是否支持 Alexa Auto sdk
- php - Netbeans 11、X-DEBUG、CakePHP4 无法在插件控制器的断点处停止 php 脚本
- jquery - 构建后反应项目内部的 TweenLite 无法正常工作