我试图通过使用它们的位置在solr中找到圆圈中的一些对象。这是我想要http://localhost:8983/solr/col/select?q=%3A&wt=json&indent=true&pt=10.34,12.4&d=5&sfield=location&fq= {!geofilt}
的查询但是我不能为此创建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 :(得分:0)
我在代码中发现问题,如果有人想知道新代码,我把它放在这里,
SimpleQuery query = new SimpleQuery(); query.addCriteria(Criteria.where(" location")。within(new Point(lat,lon),new Distance(distance)));
DefaultQueryParser qp = new DefaultQueryParser();
final SolrQuery solrQuery = qp.constructSolrQuery(query);
SolrDocumentList docs = null;
我添加了DefaultQueryParser并解决了问题。