前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elasticSearch学习(五)

elasticSearch学习(五)

作者头像
崔笑颜
发布2020-08-13 10:51:13
3660
发布2020-08-13 10:51:13
举报

简单搜索!

可以根据默认的映射规则,产生基本的查询!

代码语言:javascript
复制
GET /userlist/user/_search?q=name:老崔
image-20200712110808969
image-20200712110808969

复杂搜索!

复杂操作搜索 select ( 排序,分页,高亮,模糊查询,精准查询!)

代码语言:javascript
复制
GET userlist/user/_search
{
  "query": {
    "match": {
      "name": "崔"
    }
  }
}
image-20200712111319872
image-20200712111319872

_source 输出结果,等同于mysql : select name, age from user;

image-20200712111540099
image-20200712111540099

排序

image-20200712112035362
image-20200712112035362

分页查询

image-20200712112345264
image-20200712112345264

我们可以通过设置"from"和"size"参数来设置分页查询的相关信息。

布尔值查询

通过布尔值查询的方式我们可以实现类似于数据库的多条件查询:

image-20200715161943487
image-20200715161943487

例如通过这个must指令就可以实现多条件查询,在上图中,只有同时满足name中包含老崔,并且年龄为88的数据才会被查询出。简单的来说满足这两个条件就会返回true的布尔值然后被查询出来,所以被叫做布尔值查询,相当于sql语句中的where and条件语句。

image-20200715162308324
image-20200715162308324

而should命令则表示后方的两个条件只需要满足其中之一即可,就类似于sql语句中的where or条件语句。

image-20200715162411744
image-20200715162411744

同理,must_not表示查询出不满足条件的数据,例如上图查询出年龄不为18的信息,相当于sql中的not条件语句。

过滤查询操作

在满足多种条件查询的同时,es也支持我们对查询的数据进行进一步的筛选过滤。

image-20200715162949063
image-20200715162949063

通过上图的配置可以实现按照年龄大小进行进一步过滤的操作,gte是大于等于操作,lte是小于等于操作,gt只表示大于操作,lt只表示小于操作。

同时,也可以同时设置大于和小于来进行值的区间搜索操作,相当于sql中的between and条件。

image-20200715163034131
image-20200715163034131

匹配多个条件查询

匹配多个条件查询就有点类似于sql中的in关键字。

image-20200715163439604
image-20200715163439604

如图所示,tags是兴趣标签,在数据中是以数组的形式存在的,也就是说有多个值,通过这种方式就可以进行多个值的随意匹配。

精确匹配term

term精确匹配和match的不同:

term会将条件依据倒排索引进行精确匹配,而match则会将查询条件进行分词然后再匹配。简单的来说,match会产生类似与模糊查询的效果,而term不会,条件匹配不上即使数据包含查询条件也不会被查询出来。

关于text和keyword类型:

text类型和keyword的不同之处在于,text会被分词器进行分词,而keyword不会被分词器分词。

image-20200715164003928
image-20200715164003928

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单搜索!
  • 复杂搜索!
    • 布尔值查询
      • 过滤查询操作
        • 匹配多个条件查询
          • 精确匹配term
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档