2016-08-29 4 views
0

Ich versuche Abfragesolrj Fehler QUERY

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 

Es arbeitet perfekt mit solr Armaturenbrett auszuführen, aber wenn ich von solrj Fehler versucht

Mein Code ist

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

Fehler fehlt sfield für räumliche Anforderung

+0

Feldname in Klammern angeben und versuchen. '{! geofilt sfield = geometry}' – vinod

+0

Alle Sonderzeichen (& etc) werden codiert, sie sind also Teil des Parameters 'fq' - sie werden nicht direkt in die URL eingefügt. – MatsLindh

Antwort

1

Die Zeichenfolge, die an addFilterQuery übergeben wird, ist der Filterparameter Eter. Nur um klar zu sein, wird die Zeichenfolge, die Sie an die Methode addFilterQuery übergeben, vollständig codiert. Versuchen Sie, die Abfrage auf diese Weise zu refaktorieren:

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