开发者社区> 问答> 正文

elasticsearch 过滤器使用问题?报错

使用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());
        }
    }



查询的结果是0条,但是后台没报错,哪写的不错吗,求解答

展开
收起
爱吃鱼的程序员 2020-06-14 16:39:22 552 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    没看过esjavaclient的api,但是filter这个变量你声明了就没用过,有正确的结果才怪。还有你的sex域很有个性回复<aclass='referer'target='_blank'>@小石头_stone:setFilter了然后试一下我用变凉了了..没有结果,当时试试能不能查出东西来才给去掉的....应该是调用setPostFilter方法。

    2020-06-14 16:39:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云Elasticsearch体系架构与特性解析 立即下载
开源与云:Elasticsearch应用剖析 立即下载
《Elasticsearch全观测解决方案》 立即下载