专栏首页葫芦teg es基础查询语法

teg es基础查询语法

query 查询: 模糊匹配,并对匹配出来的数据进行评分。

“took”: 查询花费的时间 _score: 匹配相识度评分 满分 5 分

常用查询: 全文本查询:针对文本 1、查询全部:match_all 2、模糊匹配: match (类似sql 的 like) 3、全句匹配: match_phrase (类似sql 的 = ) 4、多字段匹配:muti_match (多属性查询) 5、语法查询:query_string (直接写需要配置的 关键字 ) 6、字段查询 : term (针对某个属性的查询,这里注意 term 不会进行分词,比如 在 es 中 存了 “火锅” 会被分成 “火/锅” 当你用 term 去查询 “火时能查到”,但是查询 “火锅” 时,就什么都没有,而 match 就会将词语分成 “火/锅”去查) 7、范围查询:range () 字段查询:针对结构化数据,如数字,日期 。。。

分页: “from”: 10, “size”: 10

constant_score: 固定分数。

filter: 查询: (query 属于类似就可以查出来,而 filter 类似 = 符号,要么成功,要么失败,没有中间值,查询速度比较快)

下面是 demo: 全局匹配:(默认返回10条)

GET 127.0.0.1:9200/shop-index/_search
    {
      "query": { "match_all": {}}
    }

POST 请求 ip:9200/shop/_search match 匹配: title = “串串” 分页 from 10 共 size 10

{
  "query": {
    "match": {"title": "串"}
  },
  "from": 10,
  "size": 10
}

POST 请求 ip:9200/shop/_search match 匹配: title = “串串” 排序 order = desc

{
  "query": {
    "match": {"title": "串"}
  },
  "sort": [
        {"id": {"order": "desc" }}
  ],
  "from": 10,
  "size": 10
}

mutil_match 查询:“query”: “串串”, 为要查寻的关键字,“fields”: [ “title”, “tag”] 从 title 和 tag 属性中去找。有一个匹配就算成功。

{
  "query": {
    "multi_match": {
      "query": "串串",
      "fields": [ "title", "tag"]
    }
  }
}

query_string 语法查询: “query”: “(关键字 and 关键字) or 关键字” 各种关键字 全局搜索

{
  "query": {
    "query_string": {
      "query": "(水煮肉 and 回锅肉) or 西葫芦"
    }
  }
}

query_string 可以限定 查询字段(默认查询所有字段)

{
  "query": {
    "query_string": {
      "query": "(水煮肉 and 回锅肉) or 西葫芦",
      "fields": ["title" ]
    }
  }
}

filter 查询:

{"query": {
    "bool": {
      "filter": {
        "term": {"id": "13"}
      }
    }
 }
}

constant_score: 固定分数。 (指定 boost 匹配分数是 2 的结果,默认不填是 1) 固定分数查询不支持 match 只支持 filter

{
  "query": {
    "constant_score": {
      "filter": {
        "match": {
          "title": "火锅"
        }
      },
      "boost": 2
    }
  }
}

bool 查询 must: 是 类似 and must_not :不等于 should: 类似 or

{
  "query": {
    "bool": {
      "must": [
        {
         "match": {
            "title": "火锅"
          }
        },
        {
          "match": {
            "tag": "串串"
          }
        }
      ]
    }
  }
}

should 语法查询

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "title": "串串"
          }
        },
        {
          "match": {
            "tag": "西葫芦"
          }
        }
      ]
    }
  }
}

本文链接: 没事偷着乐琅

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java 按钮复选框监听事件及恢复保存状态

    葫芦
  • linux tar备份,并比对tar备份是否成功

    1、备份系统。tar备份系统并对比备份出来的文件.tar.bz2和实际的系统文件数目是否对应,以判断备份是否成功。备份时最好排除掉/sys和/var/run,否...

    葫芦
  • linux free swap为负异常处理

      当用户提交程序,然后产生进程在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有则直接调入内存进行;如果没有,则会根据优先级选择一个...

    葫芦
  • 隐马尔可夫模型(HMM)

    原文地址:http://www.cnblogs.com/jacklu/p/7753471.html

    用户7043923
  • 一次nginx引起的线上502故障

    今天突然接到某PM的求救,说微信支付到应用的请求一直返回502,于是初步了解完情况后,就进入了问题排查阶段。

    天策
  • 分享一套SpringBoot开发博客系统源码,以及完整开发文档!速度保存!

    摘要:eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括...

    江南一点雨
  • 分享一套SpringBoot开发博客系统源码,以及完整开发文档!速度保存!

    摘要:eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括...

    乔戈里
  • redis 学习指南

    http://www.cnblogs.com/hoojo/p/4466024.html

    bear_fish
  • Python技术周刊:第 21 期

    欢迎来到《Python技术周刊》这是第21期,每周六发布,让我们直接进入本周的内容。由于微信不允许外部链接,你需要点击页尾左下角”阅读原文“,才能访问文中的链接...

    TalkPython
  • xarray | 序列化及输入输出

    xarray 支持多种文件格式(从 pickle文件到 netCDF格式文件)的序列化和输入输出。

    bugsuse

扫码关注云+社区

领取腾讯云代金券