使用es的过滤和查询进行搜索,通过界面可以看到数据,但是通过java api 调用现实0条,控制台也没有报错
操作代码:
public void search04() { FilterBuilder filter =FilterBuilders.prefixFilter("name", "张三"); SearchResponse res = client.prepareSearch("test4").setTypes("test04").setFilter(filter) .execute().actionGet(); SearchHits shs = res.getHits(); System.out.println("总共有数据:" + shs.getHits().length); for (SearchHit it : shs) { System.out.println(it.getSource()); } }
没看过esjavaclient的api,但是filter这个变量你声明了就没用过,有正确的结果才怪。还有你的sex域很有个性回复<aclass='referer'target='_blank'>@小石头_stone:setFilter了然后试一下我用变凉了了..没有结果,当时试试能不能查出东西来才给去掉的....应该是调用setPostFilter方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。