zoukankan      html  css  js  c++  java
  • elasticsearch7.6.2

    接着上一篇, 进行 query 复杂查询

    must

    这种关系, 相当于 and , 必须同时满足才行

     should

    这种关系, 相当于 or , 满足一个就可以了

     这里查出了3条数据

    must_not

     must_not 相当于是 !should , 所以这里查出了1条数据. 所有的都不满足才可以查出来

    range区间查询

    gt > 
    gte >=
    lt <
    lte <=

     区间查询通过range的方式.

    wildcard通配符查询

    允许使用通配符* 和 ?来进行查询
    *代表0个或多个字符
    ?代表任意一个字符

    term 精确查询

    这个查询是有坑的, 首先看以下查询

     desc我只传了一个 "运" 字, 发现能正常查询出来, 但是通常情况, 我是想查词条的, 比如 "运动".

    那替换成运动看一下:

     发现查不出来了, 是不是很神奇. 

    这其实是建表的时候导致的.

    这里可以对 jd_goods 库进行查询比较一下:

     为啥 jd_goods 就能查出来, lisen却查不出来呢?

    通过 get 来看一下, 两边的字段有啥区别:

     可以看到 jd_goods 的 title 字段, 指定了分词器.

    高亮

     返回值里面多了个 highlight字段, 里面放的就是高亮的字段和内容. 在展示的时候, 需要进行替换操作.

  • 相关阅读:
    一只特立独行的猪
    每天写出好代码的5个建议
    电脑修好了
    VB编程修改AutoCAD长度型尺寸标注
    前天我放学回家
    VB编程修改AutoCAD坐标型尺寸标注
    VB编程操作AutoCAD尺寸标注样式
    这是一个错误的程序
    2011年6月27日星期二
    2011年6月20日星期一
  • 原文地址:https://www.cnblogs.com/elvinle/p/13845753.html
Copyright © 2011-2022 走看看