美文网首页ElastichSearchelasticsearch玩转大数据
六、Elasticsearch基于range filter进行范

六、Elasticsearch基于range filter进行范

作者: 编程界的小学生 | 来源:发表于2017-07-15 11:03 被阅读92次

    1、搜索浏览量在30~60之间的帖子

    数据准备

    POST /forum/article/_bulk
    { "update": { "_id": "1"} }
    { "doc" : {"view_cnt" : 30} }
    { "update": { "_id": "2"} }
    { "doc" : {"view_cnt" : 50} }
    { "update": { "_id": "3"} }
    { "doc" : {"view_cnt" : 100} }
    { "update": { "_id": "4"} }
    { "doc" : {"view_cnt" : 80} }
    

    SQL:

    select * from tab where view_cnt >=30 and view_cnt < 60
    

    ES:

    GET /forum/article/_search
    {
      "query": {
        "constant_score": {
          "filter": {
            "range": {
              "view_cnt": {
                "gte": 30,
                "lt": 60
              }
            }
          }
        }
      }
    }
    

    gte:大于等于
    gt:大于
    lte:小于等于
    lt:小于

    2、搜索发帖日期在最近一个月的帖子

    GET /forum/article/_search
    {
      "query": {
        "constant_score": {
          "filter": {
            "range": {
              "postData": {
                "gte": "now-30d"
              }
            }
          }
        }
      }
    }
    

    3、梳理一下学到的知识点
    (1)range,sql中的between,或者是>=1,<=1
    (2)range做范围过滤

    若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
    欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


    qrcode_for_gh_577b64e73701_258.jpg

    相关文章

      网友评论

        本文标题:六、Elasticsearch基于range filter进行范

        本文链接:https://www.haomeiwen.com/subject/qepahxtx.html