博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7_ElaticSearch term+bool实现的multiword搜索原理
阅读量:3728 次
发布时间:2019-05-22

本文共 1106 字,大约阅读时间需要 3 分钟。

7_ElaticSearch term+bool实现的multiword搜索原理

更多干货

概述

  • es 底层会将 match query 转成bool term 查询:match query --> bool + term。

例子一

普通match如何转换为term+should

{    "match": { "title": "java elasticsearch"}}
  • 使用诸如上面的match query进行多值搜索的时候,es会在底层自动将这个match query转换为bool的语法
  • bool should,指定多个搜索词,同时使用term query
{  "bool": {    "should": [      { "term": { "title": "java" }},      { "term": { "title": "elasticsearch"   }}    ]  }}

例子二

and match如何转换为term+must

{    "match": {        "title": {            "query":    "java elasticsearch",            "operator": "and"        }    }}

转化后

{  "bool": {    "must": [      { "term": { "title": "java" }},      { "term": { "title": "elasticsearch"   }}    ]  }}

例子三

minimum_should_match如何转换

{    "match": {        "title": {            "query":                "java elasticsearch hadoop spark",            "minimum_should_match": "75%"        }    }}

转化后

{  "bool": {    "should": [      { "term": { "title": "java" }},      { "term": { "title": "elasticsearch"   }},      { "term": { "title": "hadoop" }},      { "term": { "title": "spark" }}    ],    "minimum_should_match": 3   }}
 

相关内容

转载地址:http://ueonn.baihongyu.com/

你可能感兴趣的文章
《软件安装》VMware 安装 centos8
查看>>
crontab -e 报错(E518: Unknown option: foldenable)
查看>>
Linux系统学习 八、SSH服务—SSH远程管理服务
查看>>
excel如何快速选中某个区域
查看>>
nvprof 使用记录; 以及使用 nvprof 查看tensorflow-gpu 核函数运行记录
查看>>
Linxu:磁盘分区
查看>>
计算机操作系统锁机制.
查看>>
[Linux]gocron定时任务平台的部署
查看>>
Linux下压缩工具gzip和归档工具tar及其实战shell应用
查看>>
nginx入门
查看>>
【问题记录】 Linux分区磁盘占满,导致ssh登陆闪退
查看>>
【Linux系列】Linux基础知识整理
查看>>
CentOS7升级内核kernel5.0
查看>>
linux系统IO操作
查看>>
Linux操作系统
查看>>
磁盘分区20191017
查看>>
Mac OS 查看端口和杀死进程
查看>>
【TencentOS tiny】深度源码分析(4)——消息队列
查看>>
kubernetes(五)二进制安装-安装docker服务
查看>>
概率统计23——假设检验理论(2)
查看>>