您的位置:首页 > 其它

elasticsearch 结构化搜索_在案例中实战基于range filter来进行范围过滤

2018-02-21 13:01 295 查看
课程大纲

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

}

}

}

}

}

}

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"

}

}

}

}

}

}

GET /forum/article/_search

{

"query": {

"constant_score": {

"filter": {

"range": {

"postDate": {

"gt": "now-30d"

}

}

}

}

}

}

4、梳理一下学到的知识点

(1)range,sql中的between,或者是>=1,<=1

(2)range做范围过滤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐