博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch2.x 全文检索之——Match转换Bool Query
阅读量:6858 次
发布时间:2019-06-26

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

目前为止,我们已经知道多词条的match queries只是把term query简单的包装了下使用在bool query中,默认情况使用or操作符,它表示每个term query会被加入到should参数中,所以它必须至少满足should参数中指定的查询子句中的一个。

如下两个查询其实是等效的:

{    "match": { "title": "brown fox"}}
{  "bool": {    "should": [      { "term": { "title": "brown" }},      { "term": { "title": "fox"   }}    ]  }}
如果我们在match query使用and操作符,如下两个查询是等效的:

{    "match": {        "title": {            "query":    "brown fox",            "operator": "and"        }    }}
{  "bool": {    "must": [      { "term": { "title": "brown" }},      { "term": { "title": "fox"   }}    ]  }}
如果使用minimum_should_match参数,下面两个查询也是等效的:

{    "match": {        "title": {            "query":                "quick brown fox",            "minimum_should_match": "75%"        }    }}
{  "bool": {    "should": [      { "term": { "title": "brown" }},      { "term": { "title": "fox"   }},      { "term": { "title": "quick" }}    ],    "minimum_should_match": 2   }}
当然,我们还是在开发中还是正常的使用match query,上面的例子只是为了我们更好的理解match,让我们在开发中能更好的控制match query

转载于:https://www.cnblogs.com/chennanlcy/p/6591781.html

你可能感兴趣的文章
合并下载的Solaris镜像为DVD文件的方法
查看>>
设计ShartPoint的组织结构和成员
查看>>
shell编程入门步步高(一、shell简介)
查看>>
一个简单的HQL优化
查看>>
从股价说起 百神大战凸现百度与腾讯阿里差距
查看>>
MariaDB六之主从复制
查看>>
outlook cannot send this item
查看>>
【Win7下Android native code的编译和调试】
查看>>
【iOS-cocos2d-X 游戏开发之十】自定义各类模版&触屏事件讲解!
查看>>
域环境下如何保护重要资料文件的安全(二)---IRM&RMS(下)
查看>>
服务器升迁架构.png
查看>>
不能联系xx域的域控制器
查看>>
生产网络做portfast等配置对网络的影响
查看>>
Connection is read-only. Queries leading to data modification are not allowed
查看>>
LeetCode - 43. Multiply Strings
查看>>
sublime text3侧边栏主题不生效问题解决
查看>>
System Center 2016 - Operations Manager 部署安装(二)
查看>>
ubuntu设置静态ip不能联网
查看>>
Outlook 2010上的定时发送邮件
查看>>
让server08域数据超速再生秘技之数据库快照[为企业部署Windows Server 2008系列八]...
查看>>