当前位置: 首页 > news >正文

ElasticSearch备考 -- Multi match

一、题目

索引task有3个字段a、b、c,写一个查询去匹配这三个字段为mom,其中b的字段评分比a、c字段大一倍,将他们的分数相加作为最后的总分数

二、思考

通过题目要求对多个字段进行匹配查询,可以考虑multi match、bool query操作。其中multi match可以通过参数控制分数。查看官网API 包括五中参数。

其中

  • best_fields:默认,多个字段中,返回评分最高的。

  • most_fields:匹配多个字段,返回的综合评分(非最高分)

  • cross_fields:待查询内容在多个字段中都显示,注意只能用在同种分析器类型字段

三、解题

Step 1、初始化数据

POST task/_bulk
{"create":{"_id":1}}
{"a":"key","b":"mom","c":"mom"}
{"create":{"_id":2}}
{"a":"key","b":"cake mix","c":"mom"}
{"create":{"_id":3}}
{"a":"key","b":"mom","c":"cake mix"}
{"create":{"_id":4}}
{"a":"cake mix","b":"mom","c":"mom"}

Step 2、查询多个字段

multi filed查询参数

  • type:为multi field对匹配评分五种参数

  • fileds:可以使用插入符号(^)增强单个字段

  • tie_breaker:范围为0 ~ 1,如果有值则计算评分为 tie_breaker * _score

  • operator:操作符包括and、or,

POST task/_search
{"query": {"multi_match": {"query": "mom","fields": ["a","b^2","c"],"type": "most_fields"}}
}

四、总结

  • 重点弄清type每种评分类型对应含义
  • fileds中若想增强评分使用符合为^


参考资料

  • Multi-match query | Elasticsearch Guide [8.1] | Elastic

送一波福利:

福利一

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

福利二

福利三


http://www.mrgr.cn/news/43769.html

相关文章:

  • 红帽操作系统Linux基本命令2( Linux 网络操作系统 06)
  • 【JAVA开源】基于Vue和SpringBoot的洗衣店订单管理系统
  • u盘拷贝文件管控如何实现?4个方法一举搞定,一文详解!100%纯干货,赶快码住!
  • 红米Turbo 3工程固件预览 修复底层 体验原生态系统 默认开启diag端口
  • git使用指南
  • 关于Zipf定律与TF—IDF的一个实践
  • 初识微服务
  • 【性能测试】使用JMeter性能工具做测试的基本过程及案例分析
  • 使用指标进行量化交易时,有哪些需要注意的风险点呢
  • 力扣6~10题
  • 大语言模型中文本分割策略的综合指南
  • Day02-MySQL数据库服务体系结构
  • Java 注释新手教程一口气讲完!ヾ(≧▽≦*)o
  • 校企合作必备无人机兴趣班技术详解
  • P10185 [YDOI R1] Necklace
  • Qt开发技巧(十四)文字的分散对齐,设置动态库路径,进度条控件的文本,文件对话框的卡顿,滑块控件的进度颜色,停靠窗体的排列,拖拽事件的坑
  • 2025秋招LLM大模型多模态面试题(九)-- LoRA 面试问题大全:从理论到实践
  • Chromium 搜索引擎功能浅析c++
  • 重生之我们在ES顶端相遇第 20 章 - Mapping 参数设置大全(进阶)
  • 【表达式的值II】