ElasticSearch 查询方法示例 java
public List<PricePolicyConditionDTO> queryEs(OrderPriceOutDTO param, List<String> materialCodeList, List<String> categoryCodeList) {BoolQueryBuilder mainQueryBoolBuilder = new BoolQueryBuilder();//销售组织if (CharSequenceUtil.isNotEmpty(param.getSalesOrgCode())) {mainQueryBoolBuilder.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.salesOrgCode + KEYWORD_SUFFIX, param.getSalesOrgCode()));}//价格类型if (CharSequenceUtil.isNotEmpty(param.getPriceTypeName())) {mainQueryBoolBuilder.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.priceType + KEYWORD_SUFFIX, param.getPriceTypeName()));}//and ((policy_type = 'Foc') or (policy_type != 'Foc' and currency= #{currncy}))if (CharSequenceUtil.isNotEmpty(param.getCurrency())) {BoolQueryBuilder query1 = QueryBuilders.boolQuery();query1.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.policyType + KEYWORD_SUFFIX, CommonConstant.FOC));BoolQueryBuilder query2 = QueryBuilders.boolQuery();query2.mustNot(QueryBuilders.termsQuery(PricePolicyEsDataDTO.Fields.policyType + KEYWORD_SUFFIX, CommonConstant.FOC));query2.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.currency + KEYWORD_SUFFIX, param.getCurrency()));BoolQueryBuilder query3 = QueryBuilders.boolQuery();query3.should(query1);query3.should(query2);mainQueryBoolBuilder.must(query3);}//and policy_start_date >= sysdaye() and policy_end_date <= sysdaye()mainQueryBoolBuilder.must(QueryBuilders.rangeQuery(PricePolicyEsDataDTO.Fields.policyStartDate).lte(LocalTimeUnit.getNowTime()));mainQueryBoolBuilder.must(QueryBuilders.rangeQuery(PricePolicyEsDataDTO.Fields.policyEndDate).gte(LocalTimeUnit.getNowTime()));// and [ (object_type = 'Product' and (object_code like '' or object_code like '' ) ) OR// (object_type = 'ProductCategory' and (object_code like '' or object_code like '' ) )// ]if (CollUtil.isNotEmpty(materialCodeList) || CollUtil.isNotEmpty(categoryCodeList)) {BoolQueryBuilder query4 = QueryBuilders.boolQuery();if (CollUtil.isNotEmpty(materialCodeList)) {BoolQueryBuilder query3 = QueryBuilders.boolQuery();BoolQueryBuilder query1 = QueryBuilders.boolQuery();query1.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.objectType + KEYWORD_SUFFIX, CommonConstant.PRODUCT));query3.must(query1);BoolQueryBuilder query2 = QueryBuilders.boolQuery();materialCodeList.forEach(v -> {WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery(PricePolicyEsDataDTO.Fields.objectCode + KEYWORD_SUFFIX, "*" + v + "*");query2.should(queryBuilder1);});query3.must(query2);query4.should(query3);}if (CollUtil.isNotEmpty(categoryCodeList)) {BoolQueryBuilder query3 = QueryBuilders.boolQuery();BoolQueryBuilder query1 = QueryBuilders.boolQuery();query1.must(QueryBuilders.termQuery(PricePolicyEsDataDTO.Fields.objectType + KEYWORD_SUFFIX, CommonConstant.PRODUCT_CATEGORY));query3.must(query1);BoolQueryBuilder query2 = QueryBuilders.boolQuery();categoryCodeList.forEach(v -> {WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery(PricePolicyEsDataDTO.Fields.objectCode + KEYWORD_SUFFIX, "*" + v + "*");query2.should(queryBuilder1);});query3.must(query2);query4.should(query3);}mainQueryBoolBuilder.must(query4);}Query query = new NativeSearchQueryBuilder().withQuery(mainQueryBoolBuilder).build();SearchHits<PricePolicyEsDataDTO> searchHits = elasticsearchRestTemplate.search(query, PricePolicyEsDataDTO.class);List<PricePolicyEsDataDTO> collect = searchHits.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());List<PricePolicyConditionDTO> policyConditionList = BeanUtil.copyToList(collect, PricePolicyConditionDTO.class);return dataScopeFilter(param, policyConditionList);}
相关文章:
ElasticSearch 查询方法示例 java
public List<PricePolicyConditionDTO> queryEs(OrderPriceOutDTO param, List<String> materialCodeList, List<String> categoryCodeList) {BoolQueryBuilder mainQueryBoolBuilder new BoolQueryBuilder();//销售组织if (CharSequenceUtil.isNotEmpty(pa…...

5G毫米波通信中的关键技术
随着5G技术的快速发展,毫米波通信作为其中的一项重要技术,在高速数据传输、低延迟通信和大规模连接等方面具有显著的优势。本文将探讨5G毫米波通信中的关键技术,包括毫米波频段的选择、信号处理技术和MIMO技术等。 一、毫米波频段的选择 毫米…...

2.3.3 交换机的RSTP技术
实验2.3.3 交换机的RSTP技术 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.交换机的基本配置。2.开启交换机的STP。3.配置SW3A和SW3B上STP的优先级。将SW3A配置为根交换机,SW3B配置为备用根交换机。4.配置SW2A和SW2B的边缘接口 六、任务验收七、…...

国外访问学者/博士后留学人员反诈骗指南
访问学者/博士后/联合培养博士人员出国后,对当地环境及政策不熟悉,需要提高防范意识,为此,知识人网小编特整理这篇反诈骗指南,提醒留学人员防微杜渐、未雨绸缪。 近日,多国使馆发布相关提醒:不法…...

设计模式之组合模式-创建层次化的对象结构
目录 概述概念主要角色应用场景 组合模式的实现类图NS图基本代码组合模式的精髓意外收获(❀❀) 应用示例-公司组织架构管理需求结构图代码 组合模式的优缺点优点缺点 总结 概述 概念 组合模式是一种结构型设计模式,它允许将对象组合成树形结…...
Windows 有趣功能集锦
Windows 有趣功能集锦 隐藏文件或文件夹 CMD 运行以下命令隐藏 # attrib h <文件或文件夹名称> attrib r h s a 测试显示 # attrib h <文件或文件夹名称> attrib -r -h -s -a 测试使视频显示为图片 准备一个视频文件和一个需要显示的图片先将视频压缩成压缩文…...
【nodejs版playwright】02-支持多套测试环环境执行用例
日常测试中,一套测试用例需支持在不同的测试环境运行,如staging、production 因为涉及不同的测试环境,那使用的环境变量或参数就不一样,如staging登录可能用到的用户名是A,而production可能用到的是b。 所以需要有一个…...
React高阶组件(Higher-Order Components, HOCs)
React 高阶组件 (Higher Order Components, HOCs) 是一种模式,让组件具备一定的扩展能力。它是函数式编程思想在 React 应用程序中的体现。HOCs 可以让你重用组件,提高组件的可复用性。 HOCs 是什么? 高阶组件实际上是一个函数,…...

利用RoboBrowser库和爬虫代理实现微博视频的爬取
技术概述 微博是一个社交媒体平台,用户可以在上面发布和分享各种内容,包括文字、图片、音频和视频。微博视频是微博上的一种重要的内容形式,有时我们可能想要下载微博视频到本地,以便于观看或分析。但是,微博视频并没…...

使用Redis实现缓存及对应问题解决
一、为什么需要Redis作缓存? 在业务场景中,如果有些数据需要极高频的存取,每次都要在mysql中查询的话代价太大,假如有一个存在于客户端和mysql之间的存储空间,每次可以在这空间中进行存取操作,就会减轻mys…...
【穿透科技】P2P穿透模块介绍
P2P穿透+一站式音视频解决方案路过看风景P2P隧道模块(pgLibTunnel) 1.功能介绍 P2P隧道是在Peergine中间件基础上实现的一个TCP隧道应用(通过P2P来传输TCP流量),包括服务器和客户端程序。它可以协助从公网或者从另一私网访问某个私网内部的计算机和网络设备。其优点是无需…...

中国第二批,11个大模型备案获批
加上首批的 10 余个大模型,目前已有超过 20 个大模型获得审批。 据钛媒体独家报道,国内第二批通过备案的AI大模型包括11家公司,部分已面向全社会开放服务。加上首批的10余个大模型,目前已有超过20个大模型获得备案。 新一批备案…...

一文搞定多端开发,做全栈大牛 附三大企业实战项目
一个功能三套代码 一改需求就是加不完的班? 不存在的,告别改改改 拥抱多端开发 一套代码搞定多个平台 高效开发:一套代码,多端通用 根据统计数据,全球移动设备用户数已经超过了50亿。随着智能手机、平板电脑等移动…...

带有滑动菜单指示器的纯 CSS 导航选项卡
效果展示 CSS 知识点 filter 属性回顾 transition 属性回顾 使用单选框实现导航菜单的思路 单选框当点击完成后就会有一个:checked属性,可以利用这个属性来实现导航菜单底部滑动块的滑动动画和当前菜单项激活状态的管理。 整体页面结构 <div class"tab…...
Java学习笔记41——接口组成更新
接口祖成更新 接口组成更新接口组成更新概述接口的组成接口中的默认方法接口中的静态方法接口中的私有方法 接口组成更新 接口组成更新概述 接口的组成 常量 public static final 抽象方法 public abstract 默认方法(Java8)静态方法(Java8…...

iview实现table里面每行数据的跳转
我的需求是跳转到第三方网站,看官方是写了如何跳转站内路由,不符合我的要求,在csdn发现了一篇文章,我贴一下代码 <template><Table border :columns"ReportColumns" :data"ReportData"><templ…...

Docker快速搭建Drupal内容管理系统并远程访问
🎬 鸽芷咕:个人主页 🔥个人专栏:《Linux深造日志》《C干货基地》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal…...

Ansible优化大全
文章目录 一、关闭系统信息收集二、开启加速 Ansible 执行速度修改配置文件/etc/ansible/ansible.cfg由于该功能与sudo冲突,必须关闭 requiretty 选项方法一方法二 参考文章: https://blog.csdn.net/o0o0o0D/article/details/110998873 一、关闭系统信息…...

Python|OpenCV-图像的添加和混合操作(8)
前言 本文是该专栏的第8篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV库对图像操作的时候,有时需要对图像进行运算操作,类似于加法,减法,位操作等处理。而本文,笔者将针对OpenCV对图像的添加,混合以及位操作进行详细的介绍说明和使用。 下面,…...

Vue3+vite+cesium环境搭建
引言 目前有不少vue3cesium的配置教学,存在以下两个问题: (1)vue3cli方式,随着项目的迭代,npm run serve 启动调试很慢; (2)vue3vite 确实能将调试启动提升不少的&…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...