08_深度探秘搜索技术_基于term+bool实现的multiword搜索底层原理剖析

2023-05-16

课程大纲

1、普通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"   }}
    ]
  }
}

2、and match如何转换为term+must

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

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

3、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 
  }
}

上一讲,为啥要讲解两种实现multi-value搜索的方式呢?实际上,就是给这一讲进行铺垫的。match query --> bool + term。


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

08_深度探秘搜索技术_基于term+bool实现的multiword搜索底层原理剖析 的相关文章

  • opencv 获取rtsp原始码流代码

    opencv不仅可以获取解码后的图片数据 xff0c 还可以获取未经解码的原始码流数据 这样为使用其他硬解码器提供方便 在编译opencv cmake时需要指定 D WITH FFMPEG 61 ON python 代码如下 xff0c 需
  • 通过Launchpad查找PPA仓库

    我们通常会通过查找安装命令得知一些仓库名 xff0c 我们还可以通过Ubuntu Launchpad网站查询更多信息 首先登录https launchpad net 然后搜索自己关心的ppa xff0c 例如我们搜索得到了ppa jonat
  • ffmpeg 中 rtsp相关源码解析(五)

    lt lt ffmpeg 中 rtsp相关源码解析 四 gt gt 简单介绍了rtp包是通过ff rtsp fetch packet来获取的 我们更深入地问一个问题 xff0c 那么对于vp8 h264等音视频编解码标准 xff0c 这些p
  • 庆祝博客访问量即将突破20万

    2018年开始更新博客 xff0c 到现在已有3年 博客访问量预计这周就突破20万 本来写这博客并没有特别的目的 xff0c 只是想记录在工作学习过程中遇到的问题 也没想到会有这么多的访问 从南京到无锡再到上海 xff0c 一次次突破 从0
  • ffmpeg 源码分析 解码流程

    以ffmpeg 3 4 中的ffplay 来举例 全局初始化 av register all avformat network init AVFORMAT 设置过程 avformat alloc context avformat open
  • post传数组

    业务中涉及批量删除 xff0c 就需要传多个id xff0c 用数组吧 在post中 xff0c 参数都是键值对的形式 xff0c 键和值都是string类型 xff0c 那么就需要把数组序列化为string的形式 Array toStri
  • 基于OpenCV+QT的实时视频传输显示工具(一)

    时常会找一些比较有趣的东西来看 xff0c 但一般都是看完尝试了事 xff0c 没怎么做出总结过 现在想想真是可惜 xff0c 这么多年来 xff0c 看得东西也不少 xff0c 但是留下的印记却很少 xff0c 结果就是找工作时 xff0
  • Gstreamer基础知识介绍

    由于deepstream是基于gstreamer的 xff0c 所以要想在deepstream上做拓展 xff0c 需要对gstreamer有一定的认识 以下主要介绍Gstreamer整体框架和Gstreamer基础概念 一 Gstream
  • ffmpeg 图片转视频命令 互转

    图片转视频 ffmpeg f image2 i home test images image d jpg vcodec libx264 test h264 ffmpeg f image2 i home test images image d

随机推荐