博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5_ElaticSearch 基于range filter来进行范围过滤
阅读量:3727 次
发布时间:2019-05-22

本文共 1263 字,大约阅读时间需要 4 分钟。

ElaticSearch 基于range filter来进行范围过滤

更多干货

例子说明

  • 如何使用es 实现 sql 中的>= and <=
  • 1、range,sql中的between,或者是>=1,<=1
  • 2、range做范围过滤

例子

  • 1、为帖子数据增加浏览量的字段:view_cnt 浏览量
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          }        }      }    }  }}
  • gte 大等于
  • lte 小等于

例子二

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": {            "gt": "2017-03-10||-30d"          }        }      }    }  }}

方式二

使用now

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

相关内容

转载地址:http://zeonn.baihongyu.com/

你可能感兴趣的文章
基于.NET Core的简单,跨平台,模块化的电子商务系统-SimplCommerce
查看>>
c# 自动更新程序
查看>>
在 ASP.NET Core 5.0 中访问 HttpContext
查看>>
net core 3.1 swagger文档添加 不用xml配置
查看>>
C# 使用TcpClient 测试网络连接是否正常
查看>>
C# 中的 is 真的是越来越强大,越来越语义化
查看>>
.NET Core 使用 Consul 服务注册发现
查看>>
WinForm和WPF使用log4net
查看>>
.NET5.0 Preview 8 开箱教程
查看>>
C#中异步多线程的常见用法
查看>>
利用 Github Actions 自动更新 docfx 文档
查看>>
【.NET框架】—— ASP.NET MVC5路由基础(五)
查看>>
.NETCore中实现ObjectId反解
查看>>
设计模式之外观模式
查看>>
C#中使用ajax请求
查看>>
C#委托和事件实现观察者模式
查看>>
水一贴,用任何一种语言导出oracle存储过程(视图)脚本
查看>>
在线考试系统需求分析
查看>>
C#设计模式
查看>>
C# 使用 WebBrowser 实现 HTML 转图片功能
查看>>