Example usage for org.apache.solr.client.solrj SolrQuery setRequestHandler

List of usage examples for org.apache.solr.client.solrj SolrQuery setRequestHandler

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setRequestHandler.

Prototype

public SolrQuery setRequestHandler(String qt) 

Source Link

Document

The Request Handler to use (see the solrconfig.xml), which is stored in the "qt" parameter.

Usage

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;
}