一个通过http请求对elasticsearch进行数据查询或操作的项目

一个通过http请求对elasticsearch进行数据查询或操作的项目

在之前的项目中,一直使用mybatis,习惯了使用sql语句进行查询和处理数据,当切换到elasticsearch数据源后,发现需要通过其对应的高级编程接口对数据进行操作和查询,而且返回结果一层一层的,光解析数据,都挺麻烦,故而参考mybatis方式,自己针对http请求进行了一个封装,在kibana中编写查询语句,然后复制作为查询语言(类似mysql中的sql语句),然后对查询结果进行解析定义,框架进行自动解析。

<?xml version="1.0" encoding="UTF-8" ?>
<elasticsearch>
       <dsl id="getDataList" esIndex="forecast_city_hour_air" parseResult="hits.hits[]._source->[aqi,pm10,pm25,so2,no2,co,o3,o38,quality,city,city_code,province,province_code]">
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "remark.keyword": {
              "value": #{remark}
            }
          }
        }
      ]
    }
  },
  "size": #{size}
}
    </dsl>
</elasticsearch>

在java中采用这种写法就可以直接得到想要的数据,不用自己解析,详情请参考:https://github.com/TheoryDance/esoperator

posted @ 2021-01-19 15:18  理舞  阅读(811)  评论(0编辑  收藏  举报