zoukankan      html  css  js  c++  java
  • 6.range filter进行范围过虑

    主要知识点

    • 掌握range filter的用法

       

    range filter就是查找一个范围内的数据,相当于sql中的betwen语法,以下是几个示例:

       

    1、为帖子数据增加浏览量的字段

       

    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} }

       

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

       

    GET /forum/article/_search

    {

    "query": {

    "constant_score": {

    "filter": {

    "range": {

    "view_cnt": {

    "gt": 30,

    "lt": 60

    }

    }

    }

    }

    }

    }

    3、搜索发帖日期在最近1个月的帖子

       

    再插入一条数据。

    POST /forum/article/_bulk

    { "index": { "_id": 5 }}

    { "articleID" : "DHJK-B-1395-#Ky5", "userID" : 3, "hidden": false, "postDate": "2017-03-01", "tag": ["elasticsearch"], "tag_cnt": 1, "view_cnt": 10 }

       

    对特定时间范围进行搜索

    GET /forum/article/_search

    {

    "query": {

    "constant_score": {

    "filter": {

    "range": {

    "postDate": {

    "gte":"2017-01-10||-30d"

    }

    }

    }

    }

    }

    }

       

    对当前时间之前的一段时间范围进行搜索

    GET /forum/article/_search

    {

    "query": {

    "constant_score": {

    "filter": {

    "range": {

    "postDate": {

    "gt": "now-30d"

    }

    }

    }

    }

    }

    }

  • 相关阅读:
    札记:计算机网络篇:物理层
    vs2012 它已停止工作
    php laravel 帧 该文件上传
    2016第一周日
    2015年第1周六
    2016第1周五优化自己
    2016值得关注的语言平台、JS框架
    JS模块化规范CommonJS,AMD,CMD
    2016第1周二
    ReactJS入门教程
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8483951.html
Copyright © 2011-2022 走看看