【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
1.概述
转载:Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
1.1 题记
Multi-match query
的目的多字段匹配,但 Multi-match query
中的 best_fields, most_fields, cross_fields
分不清楚,都什么含义?
下面我们一一举例解读。
1.1.1 best_fields
为默认值,如果不指定,默认best_fields
匹配。
含义:多个字段中,返回评分最高的。
类似:dis_max query
。
等价举例:(两个一起看,加深理解)
默认 best_fields 与 dis_max等价
POST blogs/_search
{"query": {"multi_match": {"type": "best_fields","query": "Quick pets","fields": ["title","body"],"tie_breaker": 0.2}}
}
与上述best_fields等价
POST blogs/_search
{"query": {"dis_max": {"queries": [{"match": {"title": "Quick pets"}},{"match": {"body": "Quick pets"}}],"tie_breaker": 0.2}}
}
1.1.2 most_fields
含义:匹配多个字段,返回的综合评分(非最高分)
类似:bool + 多字段匹配。
等价举例:(两个一起看,加深理解)
most_fields 与下面的 bool 查询等价。
GET /titles/_search
{"query": {"multi_match": {"query": "barking dogs","type": "most_fields","fields": ["title^10","title.std"]}}
}
与上面的most_fields等价
GET titles/_search
{"query": {"bool": {"should": [{"match": {"title": {"query": "barking dogs","boost": 10}}},{"match": {"title.std": "barking dogs"}}]}}
}
1.1.3 cross_fields
含义:跨字段匹配——待查询内容在多个字段中都显示。
类似:bool + dis_max 组合。
等价举例:(两个一起看,加深理解)
与下面的bool查询逻辑一致
GET test003/_validate/query?explain=true
{"query": {"multi_match": {"query": "Will Smith","type": "cross_fields","fields": ["first_name","last_name"],"operator": "and"}}
}GET test003/_validate/query?explain=true
返回:
"explanation" : "+blended(terms:[first_name:will, last_name:will]) +blended(terms:[first_name:smith, last_name:smith])"
与上面的cross_fields 基本等价,评分不一致,待深究
POST test003/_validate/query?explain=true
{"query": {"bool": {"must": [{"dis_max": {"queries": [{"match": {"first_name": "Will"}},{"match": {"last_name": "Will"}}]}},{"dis_max": {"queries": [{"match": {"first_name": "Smith"}},{"match": {"last_name": "Smith"}}]}}]}}
}
扩展阅读:elasticsearch应用场景之cross_fields
2.小结
类似辨识度不好区分的 Elastic 知识点,考虑通过实战例子加以区分,实战一把,有助于提升选型效率。
N.参考:
1、https://zhuanlan.zhihu.com/p/24832190
2、https://github.com/mingyitianxia/deep_elasticsearch
【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?相关推荐
- elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心...
1.最佳字段(Best fields):: 假设我们有一个让用户搜索博客文章的网站(允许多字段搜索,最佳字段查询),就像这两份文档一样: PUT /my_index/my_type/1 {" ...
- elasticsearch控制返回字段查询三(英文分词)match查询
#_source指定查询返回的字段信息 #_source指定查询返回的字段信息 GET /lib3/user/_search {"from":0, "size" ...
- kibana操作elasticsearch:多字段查询(multi_match)
- Elastic认证特训营 难点解读01——best_fields, most_fields, cross_fields 拆解认知
1.Multi-match query 的目的 多字段匹配 2.best_fields 为默认值,如果不指定,默认best_fields匹配. 含义:多个字段中,返回评分最高的. 类似:dis_max ...
- java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询过程解析...
这篇文章主要介绍了java使用elasticsearch分组进行聚合查询过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java连接elas ...
- elasticsearch根据某个字段来查询,以及通过时间筛选
elasticsearch根据某个字段来查询,以及通过时间筛选 String startTime = "2021-06-01"; String endTime = "20 ...
- elasticsearch 搭配 canal 字段更新和后续兼容查询设计(四)
前言 之前的几篇elasticsearch和canal的搭配文章,基本把一个项目算是搭起来了.这个架构总算是支撑到项目的第一版上线了.在投入生产环境之后,必然会面对一系列的bug修复.需求变动.版本迭 ...
- Elasticsearch 查询之 多字符串多字段查询
多字符串多字段查询 在ES中,Query Context 和Filter Context 是两种不同的上下文,其主要区别在于 Query Context 会进行相关性算分 Filter Context ...
- 初识ElasticSearch(2) -文档查询之match查询 | 分词器
1. 分词器: 2. match查询: 2.1. 数据准备 - 创建带分词器的索引映射 2.2. 数据准备 - 添加文档 2.3. 数据准备 - 查看文本分词 2.4. 查询 - 映射有分词器的字段查 ...
最新文章
- SpringBoot简单使用
- python内置排序算法_2021-01-05 排序算法(Python语言实现)
- 多径传播matlab仿真·信号分析处理
- 网络仿真中数据生成相关
- Graham Scan凸包算法
- WebDriver API
- [转]网络编程学习指南
- 爱卡创誓记java饰品,《创誓记AIKA》芙兰精灵配上框架眼睛折服宅男宅女
- 多种负载均衡算法及其Java代码实现
- java 104规约_电网104规约解包(java)
- linux下如何查看网卡ip,linux下如何查看某个网卡当前使用的IP
- 火焰识别python_OpenCV_火焰检测——完整代码
- 可调稳压电源lm317实验报告_LM317可调直流稳压电源DIY,非常实用!
- 不使用脚手架搭建vue项目
- mysql pxc gcache_MySQL高可用之PXC
- ad中按钮开关的符号_电工最常用电气元件实物及对应符号
- Android之Http通信——1.初识Http协议
- python学习(总)
- 时间复杂度 O(1),O(n),O(n^2),O(logn),O(nlogn) 详解
- Linux---Linux是什么
热门文章
- 蔚来用户累计行驶里程超30亿
- 小米12系列或首发骁龙898旗舰芯:三星4nm工艺
- 1.5万人!京东面向2021届高校毕业生开启最大规模校招
- 微信搜一搜又推出了新功能!搜“医保码”直达医保页面
- 从教科书式的失败到手术刀式的自救,李宁找回了“李宁”!
- 18岁男子吸电子烟一年肺如70岁老人,怒诉电子烟公司
- 有钱就是任性!阿里20亿美元拿下网易考拉:欢迎加入阿里动物园
- 海信新机F30S即将发布:搭载紫光展锐虎贲T310处理器
- 情人节消费报告出炉!这三个城市最爱送花...
- 最前线 | 斗鱼一季度月活用户超虎牙,但上市时间仍不明确