600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 前端从Elasticsearch表中查询数据 通过时间范围查询 以及过滤条件不生效问题解决

前端从Elasticsearch表中查询数据 通过时间范围查询 以及过滤条件不生效问题解决

时间:2019-02-28 12:51:49

相关推荐

前端从Elasticsearch表中查询数据 通过时间范围查询 以及过滤条件不生效问题解决

Elasticsearch查询指南

查表时希望根据DateTime字段获取某时间段的数据:

对应前端查询代码:

const url='http://ip:port/表名/_search'const body: any = {query: {bool: {must: [{match: {name:'测试'}}],filter: {range: {"Datetime": {gt: timeRange[0].format("YYYY-MM-DD HH:00:00"),lt: timeRange[1].format("YYYY-MM-DD HH:00:00")}}}}},from: 0,size: 10};Axios.post(url, body)

但在确定过滤时间段内有数据的情况下查出来的结果是空。

解决:在过滤字段Datetime上加上.keyword

filter: {range: {"Datetime.keyword": {gt: timeRange[0].format("YYYY-MM-DD HH:00:00"),lt: timeRange[1].format("YYYY-MM-DD HH:00:00")}}}

其中gt代表大于,gte代表大于等于,lt小于,lte小于等于。

如果只想查询大于某个值的结果只传入gt即可。

es可视化查询:

使用Elasticsearch-head工具(git地址):

前端从Elasticsearch表中查询数据 通过时间范围查询 以及过滤条件不生效问题解决 以及Elasticsearch-head工具可视化查询语句使用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。