前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >13.Elasticsearch查询语句4

13.Elasticsearch查询语句4

作者头像
IT云清
发布2019-01-22 11:23:57
3430
发布2019-01-22 11:23:57
举报
文章被收录于专栏:IT云清IT云清
本文从简单到复杂,将前面的查询关键字都用起来,并给出在mysql中的语句样式,方便对比理解。

1.简单条件查询

mysql:

代码语言:javascript
复制
SELECT
    *
FROM
    policy_file
WHERE
    LEVEL = '国家级'
AND web_source = '浙江省人民政府'
AND launch_department != '浙江省工商局'

Elasticsearch:

代码语言:javascript
复制
curl -XGET "http://10.1.1.28:9200/policy_document/policy_document/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "level": "国家级"
          }
        },
        {
          "match": {
            "web_source": "浙江省人民政府"
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "launch_department": "浙江省工商局"
          }
        }
      ]
    }
  }
}'

2.简单分页

mysql:

代码语言:javascript
复制
SELECT
    *
FROM
    policy_file
WHERE
    LEVEL = '国家级'
AND web_source = '浙江省人民政府'
AND launch_department != '浙江省工商局'
LIMIT 0,10

Elasticsearch:

代码语言:javascript
复制
curl -XGET "http://10.1.1.28:9200/policy_document/policy_document/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "level": "国家级"
          }
        },
        {
          "match": {
            "web_source": "浙江省人民政府"
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "launch_department": "浙江省工商局"
          }
        }
      ]
    }
  },
  "from": 0,
  "size": 10
}'

3.负责分页

mysql:

代码语言:javascript
复制
SELECT title,create_time,update_time
FROM
    policy_file
WHERE
    LEVEL = '国家级'
AND web_source = '浙江省人民政府'
AND launch_department != '浙江省工商局'
AND launch_date >= '2015-01-01'
AND launch_date <= '2018-01-01'
LIMIT 0,10

Elasticsearch:

代码语言:javascript
复制
curl -XGET "http://10.1.1.28:9200/policy_document/policy_document/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "level": "国家级"
          }
        },
        {
          "match": {
            "web_source": "浙江省人民政府"
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "launch_department": "浙江省工商局"
          }
        }
      ]
    }
  },
  "from": 0,
  "size": 10,
  "_source": ["title","create_time","update_time"]
}'

4.复杂分页

mysql:

代码语言:javascript
复制
SELECT title,create_time,update_time,launch_date
FROM
    policy_file
WHERE 1=1
AND level = '国家级'
AND web_source = '浙江省人民政府'
AND launch_department != '浙江省工商局'
AND launch_date >= '2015-01-01'
AND launch_date <= '2018-01-01'
ORDER BY launch_date DESC
LIMIT 0,10

Elasticsearch:

代码语言:javascript
复制
curl -XGET "http://10.1.1.28:9200/policy_document/policy_document/_search" -H 'Content-Type: application/json' -d'
{
  "_source": [
    "title","create_time","update_time","launch_date"],
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "level": "国家级"
          }
        },
        {
          "match": {
            "web_source": "浙江省人民政府"
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "launch_department": "浙江省工商局"
          }
        }
      ],
      "filter": {
        "range": {
          "launch_date": {
            "gte": "2005-01-01",
            "lte": "2018-01-01"
          }
        }
      }
    }
  },
  "sort": [
    {
      "launch_date": {
        "order": "desc"
      }
    }
  ], 
  "from": 0,
  "size": 10
}'

5.查询mapping

代码语言:javascript
复制
GET /policy_document/policy_document/_mapping

6.mapping中添加字段

如:添加plat_from字段,类型为integer

代码语言:javascript
复制
POST policy_document/policy_document/_mapping
{
  "properties": {
    "plat_from":{
      "type": "integer"
    }
  }
}

下一篇:14.Elasticsearch索引设置

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简单条件查询
  • 2.简单分页
  • 3.负责分页
  • 4.复杂分页
  • 5.查询mapping
  • 6.mapping中添加字段
  • 下一篇:14.Elasticsearch索引设置
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档