使用fq查询代替q查询,但它不起作用

时间:2015-11-02 07:42:50

标签: solr lucene

我有一个查询。因为它只需要过滤数据而且不需要得分但不起作用。

    public static void testFqQuery()throws Exception{
    SolrQuery sq=new SolrQuery();
    sq.addFilterQuery("rowkey:2d8cf7bc5fb9ef9b7780a76f9b8c7c1a");
    QueryResponse response = sc.query(sq);
    SolrDocumentList results = response.getResults();
    System.out.println("hits:"+results.getNumFound());
    for(SolrDocument sd:results){
        System.out.println(sd.get("rowkey"));
    }
    sc.close();
}

1 个答案:

答案 0 :(得分:1)

我相信您仍需要q值才能使过滤器查询生效。所以你必须做这样的事情:

sq.setQuery("*:*");

如果您考虑一下这是有道理的,因为您告诉Solr,"我想要所有与此过滤器匹配的记录。"