新闻详情

新闻详情

首页 / 资讯中心 / 详情

es笔记,总结记录

发布时间:2026/9/30 6:33:43来源:尧图网络
es笔记,总结记录
查询一、客户端选型简单场景Spring Data Elasticsearch分为ElasticsearchRepository、RestHighLevelClient、ElasticsearchOperations。ElasticsearchRepository接口通过方法名自动生成查询零手写 DSL 就能完成 CRUD、基础分页、关键词检索开发效率拉满。RestHighLevelClient遗留系统维护Spring Boot 2.x ES 7.xSpring Boot 3 要求构建和运行环境都是 JDK 17。ElasticsearchOperations要求 Spring Boot 3SDE 标准做法平衡了易用性和性能支持对象映射。复杂场景Elasticsearch Java API Client原生 ElasticsearchClient。直接注入 Spring 自动装配好的原生 ElasticsearchClient可以直接调用 ES 所有原生 API支持自定义复杂聚合、脚本排序、BulkIngester 高性能批量写入等高级操作没有封装层的能力阉割性能和直接调用原生客户端完全一致。二、查询语法1. 查询关键词所在上下文query-bool 下must下match、match_phrase、multi_matchfilter下term、terms、range、existsshould下同mustmust_not下同filter2. 各子句语义must必须匹配会打分AND Score。filter必须匹配不打分AND No Score Cachable。should可选匹配加分项OR Score。must_not必须不匹配不打分NOT No Score Cachable。bool逻辑容器组合以上。3. 形象化理解must should“会打分的裁判”。它们根据查询词在文档中的匹配程度如出现频率、字段权重等给出一个相关性分数_score最终文档按此分数排序。filter must_not“不记分的筛选器”。它们只做是/否的二元判断匹配/不匹配不产生任何分数。ES 会自动缓存这些查询结果因此速度更快适合频繁执行的过滤条件。must filter像漏斗不断缩小结果集。should像加分项不改变结果集但改变排序。must_not像筛子从结果中剔除特定文档。4. 完整示例GET /products/_search { query: { bool: { // 1. 全文搜索部分参与评分决定排序 must: [ { multi_match: { query: 华为 智能手机 5G, fields: [ name^3, // 名称字段权重为3 description^2, // 描述字段权重为2 tags // 标签字段权重为1 ], type: best_fields // 取最高分字段的分数 } } ], // 2. 精确过滤部分不参与评分可缓存性能高 filter: [ { term: { status: active } }, // 只显示在售商品 { range: { price: { gte: 1000, lte: 5000 } } }, // 价格范围 { terms: { brand: [huawei, honor] } } // 品牌是华为或荣耀 ], // 3. 排除部分不参与评分可缓存 must_not: [ { term: { category: refurbished } }, // 排除翻新机 { term: { seller_rating: low } } // 排除低评级卖家 ], // 4. 可选加权部分参与评分提升特定商品的排名 should: [ { term: { is_premium: true } }, // 优先展示高级商品 { term: { is_free_shipping: true } }, // 优先展示包邮商品 { range: { sales_count: { gte: 1000 } } } // 优先展示销量高的商品 ], // 5. 控制should匹配数量即使没有匹配任何should子句文档也能被返回 minimum_should_match: 0 } }, sort: [ { _score: { order: desc } }, // 首先按相关度评分排序 { sales_count: { order: desc } } // 评分相同时按销量降序 ], from: 0, size: 10 }三、聚合1. 聚合模板aggs: { 聚合名称: { 聚合类型: { 聚合参数: {} } } }聚合名称自定义聚合类型terms聚合参数field: xxx.keyword2. 例子GET /bank/_search { size: 0, aggs: { group_by_state: { terms: { field: state.keyword } } } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

双指针,滑动窗口 2026/9/30 13:49:50

双指针,滑动窗口

1,数组划分 将一组数据划分为不同的区间 解决这一类题用双指针算法,利用数组下标来充当指针 常见的双指针有两种形式,一种是对撞指针,一种是左右指针。 对撞指针:一般用于顺序结构中,也称左右指针。 •…

阅读更多 →
基于YOLO的猫情绪识别:3200张宠物行为数据集构建与训练实践 2026/9/30 13:49:50

基于YOLO的猫情绪识别:3200张宠物行为数据集构建与训练实践

做宠物摄像头项目时,我卡在一个很朴素的问题上:猫到底处于什么状态?如果只是“有猫/没猫”,用现成人脸检测模型就行,但客户要的是“放松、警觉、紧张、害怕、玩耍”这种细粒度情绪反馈。翻遍公开数据集,猫狗…

阅读更多 →
基于LSTM的航班延误预测:从序列特征工程到模型落地 2026/9/30 13:49:50

基于LSTM的航班延误预测:从序列特征工程到模型落地

简介:这份PDF文档聚焦民航领域的航班延误预测问题,面向从事数据建模、机器学习应用及空管运行优化的技术人员与研究者。文档以循环神经网络为核心,系统讲解RNN与LSTM单元相混合的深度学习算法设计思路,并结合民航空管历史真实数据…

阅读更多 →
特征匹配识别英文印刷字符:SURF/SIFT模板库实战与调参全解 2026/9/30 13:49:41

特征匹配识别英文印刷字符:SURF/SIFT模板库实战与调参全解

简介:《计算机视觉与深度学习实战——以MATLAB和Python为工具》系列中“基于特征匹配的英文印刷字符识别”项目开发案例教程,以PDF文档形式呈现,共1个文件,压缩包大小1.04MB。文档面向计算机视觉入门学习者、图像处理研究者及有项…

阅读更多 →
企业财务体检,到底在查什么 2026/9/30 13:49:27

企业财务体检,到底在查什么

很多企业在经营过程中,往往把重心放在业务拓展、订单增长上,财务更多承担 “记账报税” 的基础职能。直到要参与招投标、对接融资、报送年报,或是办理股权变更时,才发现财务数据经不起核对:往来账对不上、资产底数不清…

阅读更多 →
新手小白了解国际期货先了解哪一步 2026/9/30 13:49:26

新手小白了解国际期货先了解哪一步

很多新手一上来就研究 K 线、找交易策略、急着开户,这是典型的本末倒置。小白学习国际期货,第一步不是学技术分析,而是先认清底层风险和监管边界,把认知基础打牢,再循序渐进往下学。 第一步:搞懂底层属性与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉