Skip to content
Snippets Groups Projects
Commit f4219ee2 authored by ricardo.nunesdeo's avatar ricardo.nunesdeo
Browse files

Added SolrClient Singleton.

parent 29a8663f
No related branches found
No related tags found
No related merge requests found
package ch.hepia.foodspector;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
public class SolrClient {
private static String SOLR_URL = "http://localhost:8983/solr";
private static SolrClient inst;
private HttpSolrClient client;
private SolrClient(String solrUrl) {
client = new HttpSolrClient.Builder(solrUrl)
.withConnectionTimeout(10000)
.withSocketTimeout(60000)
.build();
}
public static SolrClient getInstance() {
if(inst == null)
inst = new SolrClient( SOLR_URL );
return inst;
}
public void query( String word ) {
SolrQuery query = new SolrQuery();
query.setRequestHandler("/montest");
System.out.println( word.strip().replaceAll("[-+.^:,()]",""));
query.set( "q", "name:" + word.strip().replaceAll("[-+.^:,()]","") );
try {
QueryResponse r = client.query( "foodspector", query );
SolrDocumentList list = r.getResults();
list.forEach( System.out::println );
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println( "=========" );
}
}
package ch.hepia.foodspector.controllers;
import ch.hepia.foodspector.SolrClient;
import io.javalin.http.Context;
import io.javalin.http.UploadedFile;
import net.sourceforge.tess4j.ITesseract;
......@@ -49,37 +50,7 @@ public class ImageController {
try {
String result = tess.doOCR(test);
Arrays.stream( result.split(",") ).forEach( t -> System.out.println(t.strip()) );
// Inits the Solr Client.
final String solrUrl = "http://localhost:8983/solr";
HttpSolrClient solrClient = new HttpSolrClient.Builder(solrUrl)
.withConnectionTimeout(10000)
.withSocketTimeout(60000)
.build();
Arrays.stream( result.split(",") ).forEach( t -> {
try {
SolrQuery query = new SolrQuery();
query.setRequestHandler("/select");
System.out.println( t.strip().replaceAll("[-+.^:,()]",""));
query.set( "q", "name:" + t.strip().replaceAll("[-+.^:,()]","") );
QueryResponse r = solrClient.query( "foodspector", query );
SolrDocumentList list = r.getResults();
list.forEach( System.out::println );
System.out.println( "=========" );
} catch (Exception e) {
System.out.println( e.getMessage() );
}
});
// System.out.println(result);
Arrays.stream( result.split(",") ).forEach(SolrClient.getInstance()::query);
} catch (Exception e) {
System.err.println(e.getMessage());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment