2016-08-15 4 views
0

Ich versuche, einige Objekte in einem Kreis in solr zu finden, indem Sie ihre Standorte verwenden. Dies ist die Abfrage, die ich will http://localhost:8983/solr/col/select?q=%3A&wt=json&indent=true&pt=10.34,12.4&d=5&sfield=location&fq= {! Geofilt}Frühling Solr Geospatial Search

aber ich kann den Java-Code dafür nicht erstellen. Ich probierte es so

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(); 
} 

Aber QueryResponse-Klasse erlauben dies nicht. Was kann ich tun, kann mir jemand helfen?

Antwort

0

finde ich das Problem in meinem Code, wenn jemand den neuen Code wissen will, ich es hier,

SimpleQuery Abfrage = new SimpleQuery(); query.addCriteria (Kriterien.where ("location"). Innerhalb (neuer Punkt (lat, lon), neuer Abstand (Abstand)));

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

    SolrDocumentList docs = null; 

Ich füge DefaultQueryParser hinzu und das Problem gelöst.

Verwandte Themen