如何获得最终的Solr查询命中Grails中的Solr服务器

时间:2015-02-05 18:14:04

标签: grails solr lucene

我们正在使用Grails和Solr,我在控制器中有这个

def query = "(type:GOOD OR type:BAD) AND city:${cityName}";
        SolrQuery solrQuery = new SolrQuery(query);
        solrQuery.setRows(0)
        solrQuery.setFacet(true);
        solrQuery.addFacetField('locality');
        solrQuery.setFacetLimit(10);
        def server = solrService.getServer('world')
        def queryResponse = server.query(solrQuery);
        return queryResponse.getFacetField('locality');

我想知道queryResponse.getFacetField('locality');遇到Solr时的最终查询。我想调试我的项目中的错误,我需要最终查询。我想在控制台中打印该查询,如

http://localhost:8983/solr/query?q=*:*&fl=id,title,series_s,pubyear_i
&sort=pubyear_i desc
 &group=true
 &group.main=true
 &group.field=series_s
 &facet=true
 &facet.field=cat

1 个答案:

答案 0 :(得分:0)

SolrQuery扩展org.apache.solr.common.params.ModifiableSolrParams,它有一个toString方法,可以显示查询参数。

基本上你可以做到:

log.debug query