2016-08-15 92 views
0

我想通过使用它们的位置在solr中的圆圈中找到一些对象。这是我想要的查询http://localhost:8983/solr/col/select?q=%3A&wt=json&indent=true&pt=10.34,12.4&d=5&sfield=location&fq= {!geofilt}Spring Solr地理空间搜索

但我无法为此创建java代码。我试过这样

SimpleQuery query = new SimpleQuery(); 

query.addCriteria(Criteria.where("location").near(new Point(10.34, 12.4), new Distance(5))); 
SolrDocumentList docs = null; 

try { 
    QueryResponse rsp = server.query(query); 
    docs = rsp.getResults(); 
} catch (SolrServerException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

但是QueryResponse类不允许这样做。我能做些什么才能有人帮助我?

回答

0

我发现在我的代码的问题,如果有人想知道新的代码,我把它放在这里,

SimpleQuery查询=新SimpleQuery(); (新点(经纬度),新距离(距离)));

DefaultQueryParser qp = new DefaultQueryParser(); 
    final SolrQuery solrQuery = qp.constructSolrQuery(query); 

    SolrDocumentList docs = null; 

我添加了DefaultQueryParser并解决了问题。