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; package ch.hepia.foodspector.controllers;
import ch.hepia.foodspector.SolrClient;
import io.javalin.http.Context; import io.javalin.http.Context;
import io.javalin.http.UploadedFile; import io.javalin.http.UploadedFile;
import net.sourceforge.tess4j.ITesseract; import net.sourceforge.tess4j.ITesseract;
...@@ -49,37 +50,7 @@ public class ImageController { ...@@ -49,37 +50,7 @@ public class ImageController {
try { try {
String result = tess.doOCR(test); String result = tess.doOCR(test);
Arrays.stream( result.split(",") ).forEach( t -> System.out.println(t.strip()) ); Arrays.stream( result.split(",") ).forEach(SolrClient.getInstance()::query);
// 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);
} catch (Exception e) { } catch (Exception e) {
System.err.println(e.getMessage()); System.err.println(e.getMessage());
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment