http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 7853|回复: 5

[Elasticsearch] 4-Elasticsearch查询表达式和复杂查询的使用

[复制链接]
发表于 2018-12-4 12:43:11 | 显示全部楼层 |阅读模式


教程目录帖

http://www.sufeinet.com/thread-24643-1-1.html

4-Elasticsearch查询表达式和复杂查询的使

使用查询表达式来完成搜索

    Query-sring 搜索通过命令非方便的进行临时性的即席搜索,但它也有自身的局限性,而Elasticsearch提示了一个丰富的查询语言,叫做“查询表达式”
能实现更加复杂和健壮的查询
     我们可以将之前文章中的wmith的搜索重写使用Json的格式 来完成,如下、
[Shell] 纯文本查看 复制代码
GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}

      返回结果与之前的查询一样,但还是可以看到有一些变化。其中之一是,不再使用 query-string 参数,而是一个请求体替代。这个请求使用 JSON 构造,并使用了一个 match 查询(属于查询类型之一,后续将会了解)

更复杂一些的查询我们来看一个例子

    现在尝试下更复杂的搜索。 同样搜索姓氏为 Smith 的雇员,但这次我们只需要年龄大于 30 的。查询需要稍作调整,使用过滤器 filter ,它支持高效地执行一个结构化查询
[Shell] 纯文本查看 复制代码
GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {
                "match" : {
                    "last_name" : "smith" 
                }
            },
            "filter": {
                "range" : {
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}


这部分与我们之前使用的 match 查询 一样。

这部分是一个 range 过滤器 , 它能找到年龄大于 30 的文档,其中 gt 表示_大于(_great than)。

目前无需太多担心语法问题,后续会更详细地介绍。只需明确我们添加了一个 过滤器 用于执行一个范围查询,并复用之前的 match 查询。现在结果只返回了一个雇员,叫 Jane Smith,32 岁。


[Shell] 纯文本查看 复制代码
{
   ...
   "hits": {
      "total":      1,
      "max_score":  0.30685282,
      "hits": [
         {
            ...
            "_source": {
               "first_name":  "Jane",
               "last_name":   "Smith",
               "age":         32,
               "about":       "I like to collect rock albums",
               "interests": [ "music" ]
            }
         }
      ]
   }
}

其实说白了,说是查询语句可以使用一个Json结构来完成,这与Mongodb有点类似,可以更活多变一些。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-12-4 14:59:40 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-4 15:04:10 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-4 16:34:43 | 显示全部楼层
激动人心,无法言表!
发表于 2018-12-5 11:56:14 | 显示全部楼层
我只是路过打酱油的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-23 00:50

© 2014-2021

快速回复 返回顶部 返回列表