04_结构化搜索_在案例中实战基于bool组合多个filter条件来搜索数据

2023-05-16

课程大纲

1、搜索发帖日期为2017-01-01,或者帖子ID为XHDK-A-1293-#fJ3的帖子,同时要求帖子的发帖日期绝对不为2017-01-02

select *
from forum.article
where (post_date='2017-01-01' or article_id='XHDK-A-1293-#fJ3')
and post_date!='2017-01-02'

GET /forum/article/_search
{
  "query": {
    "constant_score": {
      "filter": {
        "bool": {
          "should": [
            {"term": { "postDate": "2017-01-01" }},
            {"term": {"articleID": "XHDK-A-1293-#fJ3"}}
          ],
          "must_not": {
            "term": {
              "postDate": "2017-01-02"
            }
          }
        }
      }
    }
  }
}

must,should,must_not,filter:必须匹配,可以匹配其中任意一个即可,必须不匹配

2、搜索帖子ID为XHDK-A-1293-#fJ3,或者是帖子ID为JODL-X-1937-#pV7而且发帖日期为2017-01-01的帖子

select *
from forum.article
where article_id='XHDK-A-1293-#fJ3'
or (article_id='JODL-X-1937-#pV7' and post_date='2017-01-01')

GET /forum/article/_search 
{
  "query": {
    "constant_score": {
      "filter": {
        "bool": {
          "should": [
            {
              "term": {
                "articleID": "XHDK-A-1293-#fJ3"
              }
            },
            {
              "bool": {
                "must": [
                  {
                    "term":{
                      "articleID": "JODL-X-1937-#pV7"
                    }
                  },
                  {
                    "term": {
                      "postDate": "2017-01-01"
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    }
  }
}

3、梳理学到的知识点

(1)bool:must,must_not,should,组合多个过滤条件
(2)bool可以嵌套
(3)相当于SQL中的多个and条件:当你把搜索语法学好了以后,基本可以实现部分常用的sql语法对应的功能


 

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

04_结构化搜索_在案例中实战基于bool组合多个filter条件来搜索数据 的相关文章

  • iOS之自定义导航按钮UIBarButtonItem的样式

    在一个APP中导航的重要性和方便性自然不需要多说了 xff0c 由于系统的导航用起来实在不怎么友好 xff0c 一直想抽个时间把导航学习下 由于投入到工作的时间多些 xff0c 懒懒散散的一直都是用的时候才去找度娘 xff0c 一直没来个总
  • IOS学习之一个示例弄懂代理(delegate)和协议

    转自http blog csdn net pony maggie article details 25655443 代理和协议的语法这里不赘述 xff0c 自己查资料 这个demo的思路是这样的 xff0c 有一个A类 xff0c 这个类不
  • ios中使用 NSJSONSerialization对 json数据的解析

    ios5中apple增加了解析JSON的api NSJSONSerialization 通过该类 xff0c 我们可以完成JSON数据与 NSDictionary 和 NSArray 之间的转化 网上已经有人做过测试 xff0c NSJSO
  • 【Xcode】undefined symbols错误总结

    http blog csdn net nextstudio article details 8919241 今天在使用ZBar的时候 xff0c 报了很多undefined symbols错误 特意总结一下这类错误 1 framework缺
  • GitHub第三方资源库整理(OC篇)

    http www jianshu com p a1c3b7d5bab1 随着GitHub star 的项目越来越多 xff0c 而且之前也没有整理 xff0c 所以找起来特别麻烦 xff0c 于是就有了这篇文章 xff0c 一是方便我自己查
  • 整理的一些swift开源项目,仅供学习交流!!

    1 swift3 0开发的自学英语社区app 2 https github com netyouli 3 六阿哥的开源项目 xff0c 均已上架 新版剑三壁纸库app xff0c 使用swift开发 使用swift语言写的一款新闻资讯类的a
  • 令世人惊叹的服务器端 Swift!

    转自 xff1a http www code4app com blog 822721 634 html 时至今日 xff0c Swift 已然演变成了一门开源 跨平台的编程语言 xff0c 有许多个团队正在竞相利用 Swift 语言能够用于
  • 33 个 2017 年必须了解的 iOS 开源库

    http www cocoachina com ios 20170208 18647 html 本文翻译自Medium xff0c 原作者为Pawe Bia ecki 照片版权 xff1a xff08 Unsplash Markus Pe
  • 整理的一些iOS 开源框架

    1 一个拥有多种优雅风格的搜索控制器 https github com iphone5solo PYSearch
  • Windows端通过Vscode或PowerShell连接linux服务器,打开图形界面的程序

    问题 Windows主机不进行任何配置ssh连接到linux服务器上 xff0c 打开图形界面软件 xff0c 会出现下面的错误 xff1a gedit 46927 Gtk WARNING cannot open display 解决Win
  • 循环依赖问题终极解决方案

    今天下午给师兄抽云图数据的时候 xff0c 报错了 说到底还是C 43 43 太菜了 xff0c 调试了一会才发现是写了个循环依赖 xff0c 这四个字是这篇文章的重点 这个不是头文件重复包含的问题 xff0c 看下面的图可能一下就明白了菜
  • Linux ln命令、软链接和硬链接的区别

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 Linux ln命令是一个非常重要命令 xff0c 它的功能是为某一个文件在另外一个位置建立一个同步的链接
  • mysql 查找配置文件 my.ini 位置方法

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 个人备注 xff1a 不显示文件类型时 xff0c my ini 文件名就叫作 my xff0c 文件属性
  • VS2019 + CUDA10.1 安装和配置

    VS2019 43 CUDA10 1 安装和配置 1 CUDA 10 1 安装 1 cuda官方下载网址 xff0c 找到cuda版本为cuda10 1 xff0c 选择自己系统对应的版本下载安装程序 2 运行cuda 10 1 243 4
  • pip使用清华镜像下载

    pip使用清华镜像下载 在国内使用pip安装python第三方包时 xff0c 可能会出现下载速度较慢的情况 xff0c 这时可以尝试从国内的pip镜像源下载这些包 xff0c 大大加快下载速度 xff1a 我们常用清华源 xff0c 在p
  • windows10安装Ubuntu20.04及界面图形化

    这里写自定义目录标题 windows10安装Ubuntu20 04及界面图形化一 安装前windows的配置二 ubuntu20 04系统安装三 ubuntu 20 04更换清华大学源四 中文汉化五 安装图形界面 xff0c VcXsrv的
  • 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

随机推荐