Elastic Stack(二)——Elasticsearch之REST API的使用

一、Rest命令说明

在这里插入图片描述

二、创建索引、添加数据

PUT logs/_doc/1
{
  "log_name" : "首页点击次数",
  "log_value" : 4,
  "user_id" : 10086,
  "datetime" : "2020-05-01"
}
PUT logs/_doc/2
{
  "log_name" : "首页点击次数",
  "log_value" : 19,
  "user_id" : 10087,
  "datetime" : "2020-05-01"
}
PUT logs/_doc/3
{
  "log_name" : "首页点击次数",
  "log_value" : 10,
  "user_id" : 10088,
  "datetime" : "2020-05-01"
}

完成了索引的创建,以及数据的添加。
在这里插入图片描述

二、更新、增加字段

下面为文档ID为3的添加一个tags的字段

POST logs/_doc/3/_update
{
  "doc" : {
    "tags" : ["VIP", "收费"]
  }
}

三、获取数据

GET logs/_doc/1

在这里插入图片描述

四、基本查询

1、基本查询

GET logs/_doc/_search/?q=log_name:首页点击次数

2、结果过滤

使用 “_source” : [“log_value”]进行结果的过滤

GET logs/_doc/_search
{
    "query" : {
        "match" : { 
          "log_name" : "首页点击次数"
        }
    },
    "_source" : ["log_value"]
}

3、排序与分页

GET logs/_doc/_search
{
    "query" : {
        "match" : { 
          "log_name" : "首页点击次数"
        }
    },
    "sort" : [
      {
        "log_value" : {
          "order" : "asc"
        }
      }
    ],
    "from" : 0,
    "size" : 1
}

from为从第几页开始
size为返回多少条数据

五、布尔值查询

文档链接
在这里插入图片描述

1、must

must是“与”,相当于and。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "must" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          },
          {
          "match" : { 
            "user_id" : "10086"
          }
          }
       ]
      }
    }
}

匹配log_name为“首页点击次数”,并且user_id为10086的数据。

2、should

should是“或”,相当于or。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "should" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          },
          {
          "match" : { 
            "user_id" : "10086"
          }
          }
       ]
      }
    }
}

3、must_not

must_not是“非”,相当于not。

4、filter

filter是过滤器,可以用来对数据进行过滤处理。

GET logs/_doc/_search
{
    "query" : {
      "bool" : {
        "must" : [
          {
          "match" : { 
            "log_name" : "首页点击次数"
          }
          }
       ],
       "filter": {
        "range" : { 
          "log_value" : {
            "gt" : 10,
            "lt" : 20
          }
          }
      }
      }
    }
}

查询log_value大于10小于20的值。

  • gt 大于
  • gte 大于等于
  • lt 小于
  • lte 小于等于!

六、精确查询

term 查询是直接通过倒排索引指定的词条进程精确查找的!

  • term ,直接查询,精确的
  • match,使用分词器解析,先分析文档,然后在通过分析的文档进行查询。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值