Hier gibt ist mein Code: -solrj das gleiche Ergebnis für verschiedene Abfragen
SolrClient client = new HttpSolrClient.Builder("http://arlmsendeavour01:8983/solr/ImageMatch").build();
SolrQuery query = new SolrQuery();
query.setRequestHandler("/select");
//System.currentTimeMillis();
String q = "{!cache=false}*:*&debugQuery=true&sort=lirefunc(eh,\"opKg0dKEtZOSsaSBkfPChsTEopGykqHExYTEw5GylbKx8KKXkqHRww==\")+asc";
query.setQuery("q");
QueryResponse response = null;
try {
response = client.query(query);
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i)/*.getFieldValue("id")*/);
}
Ich verwende eine Funktion Abfrage lirefunc, wo der erste Parameter definiert, ob es sich um eine Farbe oder Kante oder Textur und der zweite Parameter ist das extrahierte Feature aus dem Bild. Jedes Mal, wenn ich den Code ausführe, der sogar für verschiedene Bilder und verschiedene Funktionen verwendet wird, erhalte ich die gleiche Ausgabe, als wenn er aus dem Solr-XML extrahiert würde. Die Ausgabe bleibt für alle Arten von Abfragen gleich. Wo gehe ich falsch?
'query.setQuery ("q");' - meinen Sie 'query.setQuery (q);' (ohne Anführungszeichen qround * * q **)? – Maciek