java 里面通过es查询不到数据。都要哭了。 5C

如题。java代码如下

 public List<AvgPowerVo> getAvgPower(AvgPowerParam param) {
        logger.debug("get avg power start");
        List<AvgPowerVo> list = new ArrayList<>();
        SearchResponse response = null;
        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
        TermsAggregationBuilder orderAgg = AggregationBuilders.terms("order ").field("pkgts_date.keyword").order(Terms.Order.term(true));
        if (StringUtils.isNotEmpty(param.getVin())) {
            boolQueryBuilder.must(QueryBuilders.matchQuery("vin", param.getVin()));
        }
        int week = param.getWeek();
        Date start = DateUtil.getLastWeekStartTime(week);
        Date end = DateUtil.getLastWeekEndTime(week);
        if (week == 0) {
            start = DateUtil.getLastWeekStartTime(12);
        }
        boolQueryBuilder.must(QueryBuilders.rangeQuery("pkgts_date").gte(start).lte(end));
        SearchRequestBuilder requestBuilder = esClient.getClient()
                .prepareSearch(esAvgPowerIndex)
                .setTypes(esAvgPowerType)
                .addAggregation(orderAgg)
                .setQuery(boolQueryBuilder);
        response = requestBuilder.execute().actionGet();
        if (response != null) {
            SearchHits searchHits = response.getHits();
            SearchHit[] hits = searchHits.getHits();
            for (SearchHit hit : hits) {
                Map<String, Object> rs = hit.getSource();
                AvgPowerVo avgPowerVo = new AvgPowerVo();
                String date = (String) rs.get("pkgts_date");
                if (StringUtils.isNotEmpty(date)) {
                    date = date.substring(0, 10);
                }
                avgPowerVo.setPkgtsDate(DateUtil.formatToDate(date));
                avgPowerVo.setAvgConsumOnce((Double) rs.get("avg_consum_once"));
                avgPowerVo.setAvgConsumAdd((Double) rs.get("avg_consum_add"));
                list.add(avgPowerVo);
            }
        }
        return list;
    }

然后这个是java里面执行的查询语句

 {
  "query" : {
    "bool" : {
      "must" : [
        {
          "match" : {
            "vin" : {
              "query" : "LMGFE1G88D1022052",
              "operator" : "OR",
              "prefix_length" : 0,
              "max_expansions" : 50,
              "fuzzy_transpositions" : true,
              "lenient" : false,
              "zero_terms_query" : "NONE",
              "boost" : 1.0
            }
          }
        },
        {
          "range" : {
            "pkgts_date" : {
              "from" : "2017-11-02T16:00:00.000Z",
              "to" : "2018-01-26T15:59:59.999Z",
              "include_lower" : true,
              "include_upper" : true,
              "boost" : 1.0
            }
          }
        }
      ],
      "disable_coord" : false,
      "adjust_pure_negative" : true,
      "boost" : 1.0
    }
  },
  "aggregations" : {
    "order " : {
      "terms" : {
        "field" : "pkgts_date.keyword",
        "size" : 10,
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : {
          "_term" : "asc"
        }
      }
    }
  }
}

然后我把这个拿到chrome客户端去查询。能够查询出来。。。

 {
"query": {
"bool": {
"must": [
{
"range": {
"pkgts_time": {
"gte": "2017-11-02T16:00:00.000Z",
"lt": "2018-01-26T15:59:59.999Z"
}
}
}
,
{
"term": {
"vin.keyword": "LMGFE1G88D1022052"
}
}
],
"must_not": [ ],
"should": [ ]
}
},
"from": 0,
"size": 50,
"sort": [ ],
"aggs": { }
}

有大神来帮忙回答下吗。

1个回答

建议 按照 插件 sql 和 head ,在sql插件中 编写sql 语句看是否能查询到,然后根据 druid 把sql 转化为 es 的api 查询 ,这样问题好定位一点

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
solr java查询不到数据
查询所有可以查询的到 但加上条件就查询不到了 求大神帮帮忙啊
linux命令行查询es数据
1、查询gather-005中 NAME='Lihua' curl -XGET 'localhost:9200/gather-005/_search?pretty' -H 'Content-Type:application/json' -d' {  &quot;query&quot;:{   &quot;match&quot;:{  &quot;NAME&quot;:&quot;Lihua&quot;    }   } }' curl -XGET 'lo
IE错误 我都要哭了
我在 做98系统的时候什么都做好了可是 然后我去刻盘 刻完的盘大开IE就出错误 可是原来的那块硬盘就没问题 我也打过补丁可是还是没用 大家千万不要建议我自己单独做以便98系统 因为我不能连续做5到6个 请给我个好一点的答案 我在这先谢谢各位了
我都要哭了,到处都找不到!!
本人是JAVA的初学者,现在想象J2ME方向学点手机开发,看了写文章。知道可以用文本编辑,命令行编译,而且要在计算机上用模拟器执行好象是WTK,然后在一直到手机上rn我看到一个建议:初学J2ME最好用Jcreater+MotoJ2SDK但是搜遍了google都找不到rnMotoJ2SDK,rn而且MIDP2。0也找不到rn请哪为兄弟告诉我在哪下?或是提供,不剩感激!rn还有就是是不是所有公司的开发包开发的手机程序,都可以在WTK上运行?
es java 查询为空和非空的数据
/** * 查询为空和非空的数据 */ @Test public void exist(){ SearchResponse response = client.prepareSearch(&quot;twitter&quot;).setTypes(&quot;tweet&quot;) .setQuery(QueryBuilders.boolQuery()...
es java 正则表达式查询
/** * 正则查询 中文只能支持关键字查询 */ @Test public void regexp(){ SearchResponse response= client.prepareSearch(indexName).setTypes(typeName) .setQuery(QueryBuilders.bo...
java使用es查询
众所周知,elasticsearch简称es,它是基于基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。                    我们
使用 OSGi 作为软件产品框架
TODO
请教 in 查询不到数据?
tableArn11rnrnrntableBrn10,11rn11,12rnrnrnrnselect * from tableArnwhere 1 = 1rnand tableA.id in ( 11)rn-- 这样可以查处数据rnrnselect * from tableArnwhere 1 = 1rnand tableA.id in ( 11,12)rn-- 这样也可以查处数据rnrnrnselect * from tableArnwhere 1 = 1rnand tableA.id in ( select tableB.id from tableB )rn-- 结果一条数据都查询不出来rnrnselect * from tableArnwhere 1 = 1rnand tableA.id in ( select top 1 tableB.id from tableB )rn-- 加上 top 1 同样查询不出来rn
PLSQL 查询不到数据
1,我是做C#开发原来一直只用sql server 最近开始使用oracle。rn比如我写了一个程序,查询oracle中的A表,运行程序,可以看到数据,正常显示.rn但是我打开plsql或者在plsql 中查询A表的同时在运行程序,就查不到数据了!!!rnrnrn我总不能在调试的同时一会儿一会儿的打开或关闭plsql吧?请问高人这个应该怎样解决?
Hibernate 查询不到数据
StringBuilder hql = new StringBuilder("from Student where 1=1"); 执行时相当于  SELECT * from t_student where 1=1 and stu_name LIKE  '  %王%  '; 正确写法:两边不能有空格 执行时相当于 SELECT * from t_
MyBatis查询不到数据
数据库中有数据,但是查询不到rnrn2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Preparing: SELECT a.id, a.company_id AS "company.id", a.office_id AS "office.id", a.opid, a.password, a.name, a.email, a.phone, a.mobile, a.optype AS opType, a.login_ip, a.login_time, a.remarks, a.login_flag, a.create_by AS "createBy.id", a.create_date AS createDate, a.update_by AS "updateBy.id", a.update_date AS updateDate, c.name AS "company.name", c.parent_id AS "company.parent.id", c.parent_ids AS "company.parentIds", ca.id AS "company.area.id", ca.name AS "company.area.name", ca.parent_id AS "company.area.parent.id", ca.parent_ids AS "company.area.parentIds", o.name AS "office.name", o.parent_id AS "office.parent.id", o.parent_ids AS "office.parentIds", oa.id AS "office.area.id", oa.name AS "office.area.name", oa.parent_id AS "office.area.parent.id", oa.parent_ids AS "office.area.parentIds", cu.id AS "company.primaryPerson.id", cu.name AS "company.primaryPerson.name", cu2.id AS "company.deputyPerson.id", cu2.name AS "company.deputyPerson.name", ou.id AS "office.primaryPerson.id", ou.name AS "office.primaryPerson.name", ou2.id AS "office.deputyPerson.id", ou2.name AS "office.deputyPerson.name" FROM sys_operator a JOIN sys_office c ON c.id = a.company_id JOIN sys_area ca ON ca.id = c.area_id JOIN sys_office o ON o.id = a.office_id JOIN sys_area oa ON oa.id = o.area_id LEFT JOIN sys_operator cu ON cu.id = c.primary_person LEFT JOIN sys_operator cu2 ON cu2.id = c.deputy_person LEFT JOIN sys_operator ou ON ou.id = o.primary_person LEFT JOIN sys_operator ou2 ON ou2.id = o.deputy_person WHERE a.opid = ? AND a.is_valid = ? rn2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Parameters: 12345(String), 0(String)rn2015-09-29 09:17:24,149 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - <== Total: 0
sql 查询不到数据
有一个表如下,为什么查询一个字段为空的时候查询不了数据??
hibernate 查询不到数据
[code=java]s = HibernateUitl.getSession();rn Query q = s.createQuery("from Users us where us.name=:name")rn .setParameter("name", name);rn Users us = (Users) q .uniqueResult();rn if(us !=null)rn return false;rn else rn return true;[/code]rnrn打印出的语句是Hibernate: rn selectrn users0_.id as id1_,rn users0_.name as name1_,rn users0_.psw as psw1_ rn fromrn users users0_ rn wherern users0_.name=?rnrnrn这里的用户名“name=?“,可我调用时传参是是有数据的(调试的时候也是有数据的)rn
SQLite_master查询不到数据?
今天必须写下这篇日志,这个错出得太冤枉,浪费了太多时间。 public class DiamondDataBase extends SQLiteOpenHelper { public DiamondDataBase(Context context, String dbpath) { super(context, null, null, SCHEMA_VERSION); c = con
fuzzyrowfilter 查询不到数据
项目环境:     Hbase Spark 服务器 1.1.2.2.6.1.0-129 2.1.1 本地 1.1.2 2.0.0   问题: 使用Intellij在本地开发环境查询hbase中的数据,用prefixFilter,RegexStringCompar
es 日期范围查询(java)
es按时间类型入库 和 按时间范围查询的java操作
DataGrid 的取值问题! 急的都要哭了!
Dim oDataGridItem1 As DataGridItemrn For Each oDataGridItem1 In dgMain.Itemsrn chkDelete2 = oDataGridItem1.FindControl("SubDelCheckbox")rn If chkDelete2.Checked = True Thenrn Dim ss As String = oDataGridItem1.Cells(0).Textrn If ss Is Nothing Thenrn Deletekey = dgMain.DataKeys(oDataGridItem1.ItemIndex)rn Return 1rn第0列被我隐藏. 不知道为什么ss 总是取不到值.
使用ES-Hadoop插件通过Hive查询ES中的数据
本来是想既然可以通过es-hadoop插件用hive查询es的数据,为啥不能用impala来做分析呢; 结果是hive查es成功了,impala查询不了,悲剧,但还是记录一下过程中遇到的问题,特别是日期格式转换那里搞了好久。 安装: 下载地址:https://www.elastic.co/cn/downloads/hadoop 找对应或高于自己es的版本即可 下载下来其实是一堆jar包 ...
恳请高手进来看看——我都要哭了
我做了一个TCP/IP通信程序,当HUB上只挂客户机和服务器时通信一切正常;当HUB上再挂上其他PC机时,客户机无法和服务器建立连接!!(IP地址,子网掩码等都设置正确)rn我通过ethereal截获数据报,发现客户机发出了连接请求,但是服务器没有任何反应。rn请高手详解!rn我总共就40分了,很抱歉!rn不胜感激!!!!!!!!!!!!!!!!!!!!!!!
es查询
127.0.0.1:9200/peoples/_search搜索 { "query":{ "match_phrase":{//全部匹配/"match模糊匹配" "title":"你是谁谁" } } }.. { "query":{ "multi_match":{//多模糊匹配 "query":"xxxx", "fields":["auther","age"]//多字段
ES查询
查询所有(matchAllQuery) //查询所有 @Test public void matchAllQuery(){ //1 执行查询 SearchResponse searchResponse = client.prepareSearch(&quot;blog&quot;).setTypes(&quot;article&quot;).setQuery(QueryBuilders.matchAllQuery())....
求解决java环境变量问题,我都要哭了!
设置java环境变量,非常头疼啊。cmd之后,输入java是这样的。rn[img=https://img-bbs.csdn.net/upload/201604/17/1460903343_579260.jpg][/img]rn然后输入javac就提示rn[img=https://img-bbs.csdn.net/upload/201604/17/1460903044_431891.jpg][/img]rnrnjdk的保存路径是C:\Program Files (x86)\Java\jdk1.8.0_77 电脑属性里面设置环境变量,其中:rnJAVA_HOME C:\Program Files (x86)\Java\jdk1.8.0_77\rnrnCLASSPATH.;C:\Program Files (x86)\Java\jdk1.8.0_77\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.8.0_77\lib\tools.jar;rnrnPath:C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\SepanderSoft;C:Windows\system32;C:Windows;C:Windows\system32\Wbem;C:Windows\System32\WindowsPowerShell\v1.0\C:\Program Files (x86)\Java\jdk1.8.0_77\bin;C:\Program Files (x86)\Java\jdk1.8.0_77\jre\bin;rnrn求高手指点,到底错在哪里了。
es 查询
查询语句 GET iptv-monitor-m-gather-apk-20180731/_search {     &quot;size&quot;: 0,     &quot;query&quot;: {         &quot;terms&quot;: {             &quot;mac&quot;: [                 &quot;28:8C:B8:D0:D1:A8&quot;             ]         }     },     &quot;aggs.
es的查询
es准实时检索原理 在这个动态索引中,有三个关键的索引结构:倒排列表、临时索引、已删除列表。倒排索引是已经建好的索引结果,倒排列表存在磁盘文件中,单词词典在内存中。临时索引是在内存中实时建立的倒排索引,结果与倒排列表一样,只是存在于内存中,当有新文档时,实时解析文档并加到这个临时索引中。已删除列表存储已被删除的文档的文档ID。另外,当一个文档被更改,搜索引擎中一个普遍的做法是删除旧文
通过REST服务访问ES进行查询
网上关于ES的访问,非常多是关于TCP访问的。但草泥 妈马的总是报配置问题。 先用REST服务吧。草泥妈的。FUCK YOU .ELASEARCH! FUCK YOU.那些个吊毛对单机配置了elasticsearch.yml配置文件却不公布上来。FUCK YOU!!!! @RequestMapping(&quot;/getesdata&quot;) @ResponseBody public Map...
ES系列之ES的查询排序
** ES的查询排序问题 ** 一.如果是filter查询(未指定排序条件) 1.从每个shard里查询指定条件的记录(score都默认为0,然后按照doc_id递增) 2.汇总每个shard返回的记录,合并排序 首先比较每个shard的第一条记录的score(高者优先),如果score相同则比较shard_id(低者优先),shard_id相同则比较shard里的hit_in...
elasticsearch使用spark sql来实现join
elastic search是一个分布式的搜索引擎,支持对数亿的数据进行秒级的查询操作。其底层使用了lucene来进行存储,对lucene进行了分布式的封装,同时在数据进入时进行了translog以实现fail over。   在将elastic search时当做数据库使用时,必然会遇到join操作。   这里提供spark sql来实现join的一种思路。   spark是一个...
mongodb查询不到数据的解决
今天使用mongodb的findOne查询数据,发现怎么也查不出来了 开始的时候使用的是id查询 id为数字,查不出来 后来改成另一个字段,是字符串,查出来了 于是回到id查询,将查询条件改成{id: Number(id)} 就可以了 原因可能是我的id是从url中获取的,所以默认就是字符串的格式了,转成数字就好了。
EntityBean 查询不到数据问题
一个sessionBean中生成一个实体bean,紧接着,用SQL语句更新这条语句的一个字段(LONG),但是找不到这条语句,为何?rnrn方法名字:rn method()rn方法内容:rn TableRemote = TableRemote.create(strKey0);rn Table1Remote .setField1(strField1);rn Table1Remote .setField2(strField2);rn String strSql = "Update Table set Field3='aaaaa' where Key0=strKey0";rn if (pstmt.executeUpdate(strSql ) != 1) rn System.out.println("update error!");rn rnrn结果:rn update errorrn 数据库中也没有数据。(update语句压根没找到实体Bean生成的数据)rn 如果不执行pstmt.executeUpdate,数据库中追加了实体bean的数据。rnrn该sessionbean的方法在servlet中调用的:rn UserTransaction.begin();rn SessionBean.methon();rn UserTransaction.commit();rnsessionbean的部署描述符:rn Containerrn Requiredrnrnrn问题到底在那里呢?请各位高手指点。rn rn
DB2导入查询不到数据
请问一下DB2的DEL文件在UNIX下面用IMPORT命令要不要进行相关的转码工作?rn rn 现在一问题是DB2在UNIX下导入数据表信息后,通过JAVA程序的(SELECT * FROM 表名)查询不到导入的记录信息,但通直接通过SQL(SELECT * FROM 表名)到rnrn数据库里查询到导入的信息,不知道为什么,请DB2的高手们指点,谢谢
ExecuteReader()查询不到第一条数据
我刚学数据库,而且是一边看书一边模仿的!导致对于一些代码算是抄过来的,不怎么懂!所以在学习一个关于查询的问题的时候遇到我查询的第一条记录不在控件listView上显示。下面是我的代码!求高手帮我解答下!我是菜鸟!谢谢!rn SqlConnection conn; rn string strCon = @"server =.\sqlexpress;integrated security =true;database = exam";rn conn = new SqlConnection(strCon);rn tryrn rn conn.Open();rn SqlCommand cmd = new SqlCommand(sql, conn);rn SqlDataReader rd = cmd.ExecuteReader();rn DataTable schema = rd.GetSchemaTable();rn dorn rn //我在想是不是在执行下面的while循环之前这里已经执行了一次查询啊?rn while (rd.Read())rn rn //实现将从数据库中的数据添加到listView控件中rn name = rd[0].ToString().Trim();rn ID = rd[1].ToString().Trim();rn examID = rd[2].ToString().Trim();rn IDcard = rd[3].ToString().Trim();rn code = rd[4].ToString().Trim();rnrn ListViewItem li = new ListViewItem((++i).ToString());rn li.SubItems.Add(name);rn li.SubItems.Add(ID);rn li.SubItems.Add(code);rn li.SubItems.Add(IDcard);rn li.SubItems.Add(examID);rn listView1.Items.Add(li);//将数据添加到listView控件中rn rn rn while (rd.NextResult());rn rd.Close();rn rn catch (Exception ex)rn rn MessageBox.Show(ex.Message);rn rn finallyrn rn conn.Close();rn
请教 为何查询不到数据?
rntableArn30rn40rn41rn30,40,41rnrnrnselect * from tableArnwhere 1 = 1rnand id in (30)rnrnrn为什么只查处第一条数据呢?第四条数据没出来?
ssm查询不到数据库数据
这两天搭了个ssm的环境,想先测试下,结果测试就出问题,同样的sql在navicate就能正常执行,在mapper就不行,查出来永远是null。 终于找到原因,我的数据库表的列名都带有下划线,需要在mybatis-config.xml中开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。 至此,解决。...
录入的数据立即查询不到
我用delphi写的程序,用ADO连接access录入数据成功,但是录入完成后去查询的时候查询不到刚录入的数据(只有在程序打开前库中已经存在的数据才能查询到),需要关闭程序再重新打开才能够查询到刚才录入的数据,是怎么回事?
mysql查询不到第一条数据
问题:   mysql查询不到第一条数据; 解决办法:  1、查看代码,是否出现多次rs.next();  2、其他代码错误
mybatis模糊查询查询不到数据
今天在使用mybatis模糊查询的时候,返回[],但是使用sql在数据库中是可以查询到数据的,原因竟然是jdbc的url中没有添加字符编码。。。 url: jdbc:mysql://ip:port/test?characterEncoding=utf8 加上?characterEncoding=utf8就可以了。 代码如下: xml里: &amp;lt;select id=&quot;findVend...
elk之java删除es数据
head对es删除操作:后面跟id结果:版本号改变java连接es删除:接口: /** * 删除一条数据 * @param id 对象的id * @param client 连接 * @param indexName 索引名称 * @param typeName type名称 */ public void deleteO...
查询oracle的临时表,查询不到数据。
我在sql里面建了一个链接服务器,用来查询oracle库的表。rnrnselect * from openquery(select * from Table_临时表)rnrn为什么这样查询oracle临时表的是,临时表没有数据返回。可是现在临时明明有数据存在的。rnrn而且如果不用sql的链接服务器来查询,直接用链接字符串oracleconnection 来查询临时表,也没有数据返回。rnrn但是我在plsql里面查询都是可以查到数据的。rnrn这是什么原因?怎么样才能查询到数据,用连接字符串直接查询的话?
Mysql 查询in(str)查询不到数据
你想象的是这样的SELECT * from tb_permissions_module where module_code in ( '1001' , '1002'  );实际上是这样的SELECT * from tb_permissions_module where module_code in ( '1001,1002'  );这种方法和前面输出结果一样,不用做字符串切割最后一位的逗号,更简洁...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池