solrj错误执行查询

时间:2016-08-29 12:16:14

标签: solr solrj solrcloud

我正在尝试执行查询

http://192.168.1.101:7070/solr/locationList_shard3_replica1/select?q=*:*&fq={!geofilt}&sfield=geometry&pt=19.7599,74.8091&d=50&sort=geodist()%20desc

它与solr仪表板完美配合,但是当我尝试从solrj错误

我的代码是

query.addFilterQuery("{!geofilt}&sfield=geometry&pt="
                    + address.getGeometry() + "&d=1000000&sort=geodist() desc");

错误缺少空间请求的sfield

1 个答案:

答案 0 :(得分:1)

传递给addFilterQuery的字符串是filter参数。为了清楚起见,传递给方法addFilterQuery的字符串将完全编码。尝试以这种方式重构查询:

query.add("fq", "{!geofilt}");
query.add("sfield", "geometry");
query.add("pt", address.getGeometry());
query.add("sort", "geodist() desc");