List of usage examples for org.apache.solr.client.solrj SolrQuery setRequestHandler
public SolrQuery setRequestHandler(String qt)
From source file:fr.gael.dhus.search.SolrDao.java
License:Open Source License
/** * Get suggestions from the suggester component. * @param input analysed by the suggester component. * @return the suggester component response. * @throws IOException network error.//from w w w. jav a 2 s.c o m * @throws SolrServerException solr error. */ public SuggesterResponse getSuggestions(String input) throws IOException, SolrServerException { SolrQuery query = new SolrQuery(input); query.setRequestHandler("/suggest"); return search(query).getSuggesterResponse(); }
From source file:fr.gael.dhus.service.SystemService.java
License:Open Source License
/** * Performs Solr restoration./* w w w. j a v a 2 s . c o m*/ * * @param properties properties containing arguments to execute the restoration. */ private static void restoreSolr5Index(Properties properties) throws IOException, SolrServerException { String solrHome = properties.getProperty("dhus.solr.home"); String coreName = properties.getProperty("dhus.solr.core.name"); final String name = properties.getProperty("dhus.solr.backup.name"); final String location = properties.getProperty("dhus.solr.backup.location"); if (solrHome == null || coreName == null || name == null || location == null) { throw new UnsupportedOperationException(); } System.setProperty("solr.solr.home", solrHome); CoreContainer core = new CoreContainer(solrHome); EmbeddedSolrServer server = new EmbeddedSolrServer(core, coreName); try { server.getCoreContainer().load(); SolrQuery query = new SolrQuery(); query.setRequestHandler("/replication"); query.set("command", "restore"); query.set("name", name); query.set("location", location); server.query(query); LOGGER.info("SolR indexes restored."); } finally { server.close(); } }
From source file:fr.paris.lutece.plugins.search.solr.business.SolrSearchEngine.java
License:Open Source License
/** * Return the suggestion terms/*from ww w.j a v a 2 s . c om*/ * @param term the terms of search * @return The spell checker response */ public SpellCheckResponse getSpellChecker(String term) { SpellCheckResponse spellCheck = null; SolrClient solrServer = SolrServerService.getInstance().getSolrServer(); SolrQuery query = new SolrQuery(term); //Do not return results (optimization) query.setRows(0); //Activate spellChecker query.setParam("spellcheck", "true"); //The request handler used query.setRequestHandler("/" + SOLR_SPELLCHECK_HANDLER); //The number of suggest returned query.setParam("spellcheck.count", "1"); // TODO //Returns the frequency of the terms query.setParam("spellcheck.extendedResults", "true"); // TODO //Return the best suggestion combinaison with many words query.setParam("spellcheck.collate", "true"); // TODO try { QueryResponse response = solrServer.query(query); spellCheck = response.getSpellCheckResponse(); } catch (SolrServerException e) { AppLogService.error(e.getMessage(), e); } catch (IOException e) { AppLogService.error(e.getMessage(), e); } return spellCheck; }
From source file:fr.paris.lutece.plugins.search.solr.business.SolrSearchEngine.java
License:Open Source License
public QueryResponse getJsonpSuggest(String terms, String callback) { QueryResponse response = null;//from www .j a v a 2 s. co m SolrClient solrServer = SolrServerService.getInstance().getSolrServer(); SolrQuery query = new SolrQuery(terms); query.setParam("wt", "json"); query.setParam("json.wrf", callback); query.setRows(10); query.setRequestHandler("/" + SOLR_AUTOCOMPLETE_HANDLER); try { response = solrServer.query(query); } catch (SolrServerException e) { AppLogService.error(e.getMessage(), e); } catch (IOException e) { AppLogService.error(e.getMessage(), e); } return response; }
From source file:io.logspace.hq.core.solr.AbstractSolrConfigService.java
License:Open Source License
protected SolrDocument realTimeGet(String id) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setRequestHandler("/get"); solrQuery.set("id", id); QueryResponse response = this.solrClient.query(solrQuery); return (SolrDocument) response.getResponse().get("doc"); }
From source file:io.logspace.hq.core.solr.capabilities.SolrCapabilitiesService.java
License:Open Source License
@Override public AgentControllerCapabilities getCapabilities(String controllerId) { this.logger.debug("Retrieving agent controller capabilities for controller with ID '{}'.", controllerId); SolrQuery solrQuery = new SolrQuery(); solrQuery.setRequestHandler("/get"); solrQuery.set("id", this.getCapabilitiesId(controllerId)); try {/* w w w .j a v a 2s. c om*/ QueryResponse queryResponse = this.solrClient.query(solrQuery); SolrDocument solrDocument = (SolrDocument) queryResponse.getResponse().get("doc"); if (solrDocument == null) { return null; } String content = SolrDocumentHelper.getString(solrDocument, FIELD_CONTENT); return AgentControllerCapabilitiesJsonDeserializer.fromJson(content); } catch (SolrServerException | IOException e) { throw new DataRetrievalException("Could not retrieve agent controller capabilities.", e); } }
From source file:io.logspace.hq.core.solr.orders.SolrOrderService.java
License:Open Source License
@Override public Order getOrder(String controllerId) { this.logger.debug("Retrieving order for controller with ID {}.", controllerId); SolrQuery solrQuery = new SolrQuery(); solrQuery.setRequestHandler("/get"); solrQuery.set("id", this.getOrderId(controllerId)); try {/*from w w w .j av a2 s . co m*/ QueryResponse queryResponse = this.solrClient.query(solrQuery); SolrDocument solrDocument = (SolrDocument) queryResponse.getResponse().get("doc"); if (solrDocument == null) { return null; } Order result = new Order(); result.setId(getString(solrDocument, FIELD_ID)); result.setContent(getString(solrDocument, FIELD_CONTENT)); result.setLastModified(getDate(solrDocument, FIELD_TIMESTAMP)); return result; } catch (SolrServerException | IOException e) { throw new DataRetrievalException("Could not retrieve order.", e); } }
From source file:lux.solr.LuxSolrTest.java
License:Mozilla Public License
@Test public void testCreateCore() throws Exception { SolrQuery q = new SolrQuery(); q.setRequestHandler(coreContainer.getAdminPath()); q.setParam("action", "CREATE"); q.setParam("name", "core3"); q.setParam("instanceDir", "core3"); solr.query(q);// w w w . ja v a2s . c o m SolrServer core3 = new EmbeddedSolrServer(coreContainer, "core3"); core3.deleteByQuery("*:*"); core3.commit(); assertSolrQueryCount(0, "*:*", core3); // main core still works assertQueryCount(1, 102, "xs:integer", "102", "count(collection())", solr); // new core working too assertQueryCount(1, 0, "xs:integer", "0", "count(collection())", core3); }
From source file:lux.solr.LuxSolrTest.java
License:Mozilla Public License
@Test public void testAppServer() throws Exception { SolrQuery q = new SolrQuery(); q.setRequestHandler("/testapp"); q.setParam("test-param", "test-value"); q.setParam("wt", "lux"); q.setParam("lux.contentType", "text/xml"); QueryResponse resp = solr.query(q);/*from w ww . j av a2 s . c o m*/ assertEquals("query was blank", resp.getResponse().get("xpath-error")); q.setParam("lux.xquery", "lux/solr/echo.xqy"); resp = solr.query(q); NamedList<?> xpathResults = (NamedList<?>) resp.getResponse().get("xpath-results"); assertEquals( "<http><params>" + "<param name=\"wt\"><value>lux</value></param>" + "<param name=\"qt\"><value>/testapp</value></param>" + "<param name=\"test-param\"><value>test-value</value></param>" + "<param name=\"wt\"><value>lux</value></param></params><context-path/></http>", xpathResults.get("document").toString()); assertTrue(resp.getResults().isEmpty()); }
From source file:nl.b3p.viewer.search.PDOKSearchClient.java
License:Open Source License
@Override public SearchResult search(String term) { SearchResult result = new SearchResult(); try {/* w w w . jav a 2s . co m*/ JSONArray respDocs = new JSONArray(); SolrQuery query = new SolrQuery(); // add asterisk to make it match partial queries (for autosuggest) term += "*"; if (this.filter != null) { term += " " + this.filter; } query.setQuery(term); // specify fields to retrieve (null values wil be omitted in the response), // the default is listed at https://github.com/PDOK/locatieserver/wiki/API-Locatieserver#52url-parameters // this list is probably still longer than needed, so maybe could be pruned query.setParam("fl", "identificatie,weergavenaam,bron,type,openbareruimte_id,openbareruimtetype,straatnaam,adresseerbaarobject_id,nummeraanduiding_id,huisnummer,huisletter,huisnummertoevoeging,huis_nlt,postcode,woonplaatscode,woonplaatsnaam,gemeentenaam,provinciecode,provincienaam,kadastraal_object_id,kadastrale_gemeentecode,kadastrale_gemeentenaam,kadastrale_sectie,perceelnummer,kadastrale_grootte,gekoppeld_perceel,kadastrale_aanduiding,centroide_rd,boundingbox_rd,geometrie_rd,score"); query.setRequestHandler("/free"); QueryResponse rsp = server.query(query); SolrDocumentList list = rsp.getResults(); for (SolrDocument solrDocument : list) { JSONObject doc = solrDocumentToResult(solrDocument); if (doc != null) { respDocs.put(doc); } } result.setResults(respDocs); result.setLimitReached(list.getNumFound() > list.size()); } catch (SolrServerException ex) { log.error("Cannot search:", ex); } return result; }