读《深入理解Elasticsearch》点滴-multi_match
区分按字段为中心的查询、词条为中心的查询
注意高频词项被高得分词项(冷僻的词项)取代的问题
1、best_fields :适用于多字段查询且查询相同文本;得分取其中一个字段的最高分。可通过tie_breaker(取值0~1)将低得分字段的分数引入的最终得分中。best_fields可与dis_max查询互换。ES内部转换为dis_max查询
operator(此查询中慎用)、minimum_should_match 作用于每个字段的子查询内部中。
例如:
"query":"complete conan doyle"
"field":["title","author","characters"]
"type":"best_fields"
"operator":"and"
等价于:
(+title:complete +title:conan +title:doyle) | (+autorh:complete +author:conan +autore:doyle) | (+characters:complete +characters:conan +characters:doyle)
2、corss_fields:适用于期望查询文本中所有的词都在文档中出现,而又不介意在文档中哪些字段中出现。operator作用于子查询与子查询之间的连接中
应用场景:信息被索引时分割到不同字段中,如住址,姓、名。多数情况下opertaotr使用and
上述查询等价于:
+(title:complete author:complete charactors:complete) +(title:conan author:conan charators:conan) +(title:doyle author:doyle charactor:doyle)
3、most_fields:适用于检索多处包含相同文本,但是恩本分析处理方式不同的文档。多数情况下operator使用or
ES内部转化为bool查询
应用场景:多语言处理
..。。
4、phrase:内部转换为dis_max,同best_fields
5、parase_prefix:内部转换为dis_max,同best_fields
最新文章
- C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)
- 优化定时器NSTimer-runloop使用
- 答:SQLServer DBA 三十问之三:有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理
- sphinx :undefined reference to `libiconv' 报错解决办法
- STM32的bulk双缓冲传输速度的讨论,硬件的坑永远填不完
- Ubuntu 下编译安装linux
- Android开发之计算器(一)界面设计之activity_main布局文件
- 域名解析中A记录、CNAME、MX记录、NS记录的区别和联系
- 由mysql数据库基础上的php程序实现单词的查询、删除、更改和查询
- IP地址变动后,https://localhost:1158/em无法访问解决办法
- Android加载图片OOM错误解决方式
- 流程控制if、while、for
- 微信小程序消息通知-打卡考勤
- java九九乘法表
- 2018-2019-2 网络对抗技术 20165333 Exp3 免杀原理与实践
- C#读取CSV
- matlab学习笔记 函数bsxfun repmat
- Ubuntu 分辨率更改 xrandr Failed to get size of gamma for output default
- 基于神念TGAM的脑波小车(2)
- 【Learning】常系数线性齐次递推
热门文章
- spring boot整合mybatis框架及增删改查(jsp视图)
- 第五章 Spring核心概念
- 7.解决在python中用selenium启动FireFox浏览器启动不了的方法
- python控制窗口口字形运动
- B-Quadratic equation_2019牛客暑期多校训练营(第九场)
- 2019DX#2
- HDU 5919 - Sequence II (2016CCPC长春) 主席树 (区间第K小+区间不同值个数)
- codeforces 873 D. Merge Sort(分治)
- 图论之拓扑排序 poj1128 Frame Stacking
- git 生成密钥