ES使用script进行复杂排序

es数据字段,关注_source内容,为自定义的es表字段内容

{"clerk_id": 3150036230,"clerk_follow_status": 60,"create_time": 1729156110000,"channel": 1,"mid": 1538020071,"binlog_timestamp": null,"clue_tag": 0,"is_sync": 1,"vuid": 199603942960332807,"idempotence": "8101929dc442442b847a46fa09fa1c11","sync_operation_time": 1733448887759,"follow_time": 1729230615000,"update_time": 1729230615000,"follow_count": 1,"id": 12428,"spu_id": 8797,"org_code": "MI0101","wecom_friend": [3150036230],"latest_purchase_time": 1656489614
}

要实现的排序逻辑是:如果wecom_friend字段包含指定id则优先排序

第一步,百度参考:Elasticsearch-script 脚本排序-CSDN博客

当前参考是字段==比较,那我们的是数组,则直接使用contains方法尝试

{"_script": {"script": {"source": "if(params['_source']['wecom_friend'].contains('3150036230')){1}else{0}","lang": "painless"},"type": "number","order": "desc"}
}

执行可以看到,并没有匹配到

第二步,当前字段为long类型,所以是不是要去掉引号

执行报错

提示错误,需要改成long类型数字去匹配

第三步,修改后,执行成功 

最终查询代码

{"_script": {"script": {"source": "if(params['_source']['wecom_friend'].contains(3150036230L)){1}else{0}","lang": "painless"},"type": "number","order": "desc"}
}

Java代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35372.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Leecode刷题C语言之可以被进一步捕获的棋子数

执行结果:通过 执行用时和内存消耗如下&#xff1a; 代码如下&#xff1a; int numRookCaptures(char** board, int boardSize, int* boardColSize) {int cnt 0, st 0, ed 0;int dx[4] {0, 1, 0, -1};int dy[4] {1, 0, -1, 0};for (int i 0; i < 8; i) {for (int j…

攻防世界杂项刷题笔记(引导模式)13-23

引言&#xff1a;14包括提取文件和流量分析&#xff0c;22很新颖&#xff01;&#xff01;其他的都是常规隐写 13.base64stego 经过上一次如来十三掌的磨练&#xff0c;这题在看到题干“十三掌”的时候我是丝毫不慌张的。附件给了压缩包&#xff0c;考虑是不是伪加密&#xf…

Linux-PWM应用编程

本章我们将学习如何对开发板上的 PWM 设备进行应用编程。 本章将会讨论如下主题内容。 ⚫ 应用层 PWM 编程介绍&#xff1b; ⚫ PWM 测试。 应用层如何操控 PWM 与 LED 设备一样&#xff0c;PWM 同样也是通过 sysfs 方式进行操控&#xff0c;进入到/sys/class/pwm 目录下&…

Seaborn | 绘制数据分布的两个函数distplot和countplot

distplot 和 countplot 是 seaborn&#xff08;Seaborn&#xff09;库中用于绘制数据分布的两个函数&#xff0c;它们各自有不同的用途和特点&#xff1a; 1. distplot&#xff08;分布图&#xff09; distplot 函数用于绘制单变量的分布图。它可以显示数据的直方图&#xff…

网络原理 网络协议栈

POSIX API与网络协议栈 unix有不同的衍生版本&#xff0c;针对不同的版本&#xff0c;通过Posix定义了一套标准的操作系统接口API&#xff0c;使得不同的开发版本可以使用相同的API调用&#xff0c;具有可移植性。 网络连接相关API&#xff1a; 客户端 socket() bind() con…

java注解(二):注解的解析以及应用场景、用注解和反射模拟junit框架代码演示

目录 1、什么是注解的解析&#xff1f; 2、解析注解的案例 1、自定义一个注解 2、在类和方法上使用自己定义的注解 3、解析注解 3、模拟Junit框架案例 1、自定义一个MyTest注解 2、定义一个测试类&#xff0c;使用自定义的注解 3、写一个启动类 本文章主要讲解什么是注…

【华科X地平线】DiffusionDrive:端到端截断扩散模型

论文: https://arxiv.org/pdf/2411.14499 代码: https://github.com/hustvl/DiffusionDrive 0. 摘要 最近&#xff0c;扩散模型作为一种强大的生成式技术&#xff0c;已经出现在机器人策略学习领域&#xff0c;能够建模多模态动作分布。利用其进行端到端自动驾驶的能力是一个…

HarmonyOS 5.0应用开发——Ability与Page数据传递

【高心星出品】 文章目录 Ability与Page数据传递Page向Ability传递数据Ability向Page传递数据 Ability与Page数据传递 基于当前的应用模型&#xff0c;可以通过以下几种方式来实现UIAbility组件与UI之间的数据同步。 使用EventHub进行数据通信&#xff1a;在基类Context中提供…

【unity框架开发10】从零手搓一个UI管理器/UI框架,自带一个提示界面,还有自带DOTween动画效果(2024/10/10修改补充)

最终效果 文章目录 最终效果前言UI组件和布局的基础使用UI管理器1、新增UI面板层枚举2、初始化2.1、用代码创建画布2.2、用代码创建UI面板的父物体层2.3、代码添加EventSystem物体 3、ShowPanel显示面板方法4、HidePanel隐藏面板的方法5、CloseUI关闭界面的方法6、UI界面基类 测…

智能指针【C++11】

文章目录 智能指针std::auto_ptr std::unique_ptrstd::shared_ptrstd::shared_ptr的线程安全问题std::weak_ptr 智能指针 std::auto_ptr 管理权转移 auto_ptr是C98中引入的智能指针&#xff0c;auto_ptr通过管理权转移的方式解决智能指针的拷贝问题&#xff0c;保证一个资源…

Win11 24h2 不能正常ensp

Win11 24h2 不能正常ensp 因为Win11 24h2的内核大小更改&#xff0c;目前virtualbox在7.1.4中更新解决了。而ensp不支持5.2.44之后的virtualbox并已停止维护&#xff0c;不再进行5.2.44修复&#xff0c;virtualbox 5.2.24的ntdll文件sizeofimage问题&#xff0c;此问题导致ens…

使用GO--Swagger生成文档

概述 在前后端分离的项目中&#xff0c;后端配置swagger可以很好的帮助前端人员了解后端接口参数和数据传输。go-swagger 是一个功能全面且高性能的Go语言实现工具包&#xff0c;用于处理Swagger 2.0&#xff08;即OpenAPI 2.0&#xff09;规范。它提供了丰富的工具集&#x…

沃德云商协系统微信小程序PHP+Uniapp

“多组织”的云服务平台&#xff0c;打造总商会、总协会、总校友会、工商联等多组织无障碍沟通合作平台&#xff0c;让各大分会、各大分校友会、分组织实现轻松管理&#xff0c;线上宣传展示、商机挖掘、会员管理、会员服务、跨界交流等, 借助沃德云商协平台系统&#xff0c;让…

网站打开速度测试工具:互联网优化的得力助手

在信息飞速流转的互联网时代&#xff0c;网站如同企业与用户对话的窗口&#xff0c;其打开速度直接关乎用户体验&#xff0c;乃至业务的成败。所幸&#xff0c;一系列专业的网站打开速度测试工具应运而生&#xff0c;它们宛如幕后的技术侦探&#xff0c;精准剖析网站性能&#…

shell脚本实战案例

文章目录 实战第一坑功能说明脚本实现 实战第一坑 实战第一坑&#xff1a;在Windows系统写了一个脚本&#xff0c;比如上面&#xff0c;随后上传到服务&#xff0c;执行会报错 原因&#xff1a; 解决方案&#xff1a;在linux系统touch文件&#xff0c;并通过vim添加内容&…

Face2QR:可根据人脸图像生成二维码,还可以扫描,以后个人名片就这样用了!

今天给大家介绍的是一种专为生成个性化二维码而设计的新方法Face2QR&#xff0c;可以将美观、人脸识别和可扫描性完美地融合在一起。 下图展示为Face2QR 生成的面部图像&#xff08;第一行&#xff09;和二维码图像&#xff08;第二行&#xff09;。生成的二维码不仅忠实地保留…

数据结构---队列(Queue)

1. 简介 队列&#xff08;Queue&#xff09;是一种常用的数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则。这意味着第一个进入队列的元素将是第一个被移除的元素。队列在计算机科学中有着广泛的应用&#xff0c;比如任…

玩游戏没有flash插件的解决方案(No Flash)

一、概述 在网页游戏开发领域&#xff0c;Flash和H5是两种主流的技术。Flash游戏曾经占据主导地位&#xff0c;但随着HTML5技术的发展和浏览器对Flash支持的逐渐减少&#xff0c;H5游戏逐渐成为主流。本教程将详细介绍Flash和H5的区别&#xff0c;并提供将Flash游戏转换为H5游戏…

如何查看电脑的屏幕刷新率?

1、按一下键盘的 win i 键&#xff0c;打开如下界面&#xff0c;选择【系统】&#xff1a; 2、选择【屏幕】-【高级显示设置】 如下位置&#xff0c;显示屏幕的刷新率&#xff1a;60Hz 如果可以更改&#xff0c;则选择更高的刷新率&#xff0c;有助于电脑使用起来界面更加流…

新书速览|循序渐进Node.js企业级开发实践

《循序渐进Node.js企业级开发实践》 1 本书内容 《循序渐进Node.js企业级开发实践》结合作者多年一线开发实践&#xff0c;系统地介绍了Node.js技术栈及其在企业级开发中的应用。全书共分5部分&#xff0c;第1部分基础知识&#xff08;第1&#xff5e;3章&#xff09;&#xf…