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

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

Introduction

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

Prototype

public SolrQuery setQuery(String query) 

Source Link

Usage

From source file:com.temenos.interaction.commands.solr.TermsCommand.java

License:Open Source License

public Result execute(InteractionContext ctx) {

    MultivaluedMap<String, String> queryParams = ctx.getQueryParameters();
    String entityName = ctx.getCurrentState().getEntityName();

    try {/*  w w  w.  j a  va  2s.com*/
        String queryStr = queryParams.getFirst("q");
        SolrQuery query = new SolrQuery();
        query.setRequestHandler("/terms");
        //         query.setFields("id", "name", "mnemonic", "address", "postcode");
        query.setQuery(queryStr);
        // TODO make these configurable
        query.addTermsField("name");
        query.addTermsField("mnemonic");
        query.setTermsPrefix(queryStr);
        query.setTermsSortString("count");
        query.setTerms(true);
        query.setTermsLimit(10);

        QueryResponse rsp = solrServer.query(query);
        ctx.setResource(buildCollectionResource(entityName, "name", rsp.getTermsResponse().getTermMap()));
        return Result.SUCCESS;
    } catch (SolrServerException e) {
        logger.error("An unexpected error occurred while querying Solr", e);
    }

    return Result.FAILURE;
}

From source file:com.villemos.ispace.solr.SolrProducer.java

License:Open Source License

private void configureQuery(SolrQuery query)
        throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {

    /** Set the default values. May be overridden by later settings. */
    query.setRows(endpoint.getRows());//from   ww  w .  j a  va2 s .co m
    query.setSortField(endpoint.getSortField(), endpoint.getSortOrder());

    /** We per default always set highlighting. */
    query.setHighlight(true).setHighlightSnippets(1);
    query.setParam("hl.fl", "withRawText");

    /** Configure facets. */
    query.setFacet(endpoint.getFacets());
    if (endpoint.getFacets() == true) {
        query.setQuery(endpoint.getQuery());
        query.setFacetSort(endpoint.getFacetsort());
        query.setFacetLimit(endpoint.getFacetlimit());
        query.setFacetPrefix(endpoint.getFacetprefix());
        query.setFacetMinCount(endpoint.getMinCount());
        query.setFacetMissing(endpoint.isFacetMissing());
    }

    query.addFacetField(endpoint.getFacetField());
}

From source file:com.welab.x.blacklist.util.SearchEngine.java

License:Open Source License

/**
 * Query result from server./*from   ww  w . j  av  a  2 s  .  c o  m*/
 * 
 * @param statement
 * @return SolrDocumentList
 * @throws SolrServerException
 * @throws Exception
 */
public static SolrDocumentList search(String statement) throws SolrServerException, Exception {
    // get current environment information
    String environment = Utility.getCurrentEnvironment();
    // get the connection url for current environment
    String url = Utility.getUrlByEnvironment(environment);

    SolrQuery query = new SolrQuery();
    query.setQuery(statement);
    try {
        QueryResponse rsp = Connection.getConnection(url).query(query);
        return rsp.getResults();
    } catch (SolrServerException se) {
        LOG.error(ErrorMessage.SEARCH_SOLR_ERROR, se);
        throw se;
    }
}

From source file:com.yahoo.ycsb.db.solr.SolrClient.java

License:Open Source License

/**
 * Read a record from the database. Each field/value pair from the result will be stored in a
 * HashMap./*ww w.j a va  2 s  .  c  om*/
 *
 * @param table
 *          The name of the table
 * @param key
 *          The record key of the record to read.
 * @param fields
 *          The list of fields to read, or null for all of them
 * @param result
 *          A HashMap of field/value pairs for the result
 * @return Zero on success, a non-zero error code on error or "not found".
 */
@Override
public Status read(String table, String key, Set<String> fields, HashMap<String, ByteIterator> result) {
    try {
        Boolean returnFields = false;
        String[] fieldList = null;
        if (fields != null) {
            returnFields = true;
            fieldList = fields.toArray(new String[fields.size()]);
        }
        SolrQuery query = new SolrQuery();
        query.setQuery("id:" + key);
        if (returnFields) {
            query.setFields(fieldList);
        }
        final QueryResponse response = client.query(table, query);
        SolrDocumentList results = response.getResults();
        if ((results != null) && (results.getNumFound() > 0)) {
            for (String field : results.get(0).getFieldNames()) {
                result.put(field, new StringByteIterator(String.valueOf(results.get(0).getFirstValue(field))));
            }
        }
        return checkStatus(response.getStatus());
    } catch (IOException | SolrServerException e) {
        e.printStackTrace();
    }
    return Status.ERROR;
}

From source file:com.yahoo.ycsb.db.solr.SolrClient.java

License:Open Source License

/**
 * Perform a range scan for a set of records in the database. Each field/value pair from the
 * result will be stored in a HashMap./*from ww  w  .  j  av a  2  s  .  c o m*/
 *
 * @param table
 *          The name of the table
 * @param startkey
 *          The record key of the first record to read.
 * @param recordcount
 *          The number of records to read
 * @param fields
 *          The list of fields to read, or null for all of them
 * @param result
 *          A Vector of HashMaps, where each HashMap is a set field/value pairs for one record
 * @return Zero on success, a non-zero error code on error. See this class's description for a
 *         discussion of error codes.
 */
@Override
public Status scan(String table, String startkey, int recordcount, Set<String> fields,
        Vector<HashMap<String, ByteIterator>> result) {
    try {
        Boolean returnFields = false;
        String[] fieldList = null;
        if (fields != null) {
            returnFields = true;
            fieldList = fields.toArray(new String[fields.size()]);
        }
        SolrQuery query = new SolrQuery();
        query.setQuery("*:*");
        query.setParam("fq", "id:[ " + startkey + " TO * ]");
        if (returnFields) {
            query.setFields(fieldList);
        }
        query.setRows(recordcount);
        final QueryResponse response = client.query(table, query);
        SolrDocumentList results = response.getResults();

        HashMap<String, ByteIterator> entry;

        for (SolrDocument hit : results) {
            entry = new HashMap<String, ByteIterator>((int) results.getNumFound());
            for (String field : hit.getFieldNames()) {
                entry.put(field, new StringByteIterator(String.valueOf(hit.getFirstValue(field))));
            }
            result.add(entry);
        }
        return checkStatus(response.getStatus());
    } catch (IOException | SolrServerException e) {
        e.printStackTrace();
    }
    return Status.ERROR;
}

From source file:com.yahoo.ycsb.db.solr6.SolrClient.java

License:Open Source License

/**
 * Perform a range scan for a set of records in the database. Each field/value pair from the
 * result will be stored in a HashMap.//from  w ww  .j a va2  s  . c  o  m
 *
 * @param table
 *          The name of the table
 * @param startkey
 *          The record key of the first record to read.
 * @param recordcount
 *          The number of records to read
 * @param fields
 *          The list of fields to read, or null for all of them
 * @param result
 *          A Vector of HashMaps, where each HashMap is a set field/value pairs for one record
 * @return Zero on success, a non-zero error code on error. See this class's description for a
 *         discussion of error codes.
 */
@Override
public Status scan(String table, String startkey, int recordcount, Set<String> fields,
        Vector<HashMap<String, ByteIterator>> result) {
    try {
        Boolean returnFields = false;
        String[] fieldList = null;
        if (fields != null) {
            returnFields = true;
            fieldList = fields.toArray(new String[fields.size()]);
        }
        SolrQuery query = new SolrQuery();
        query.setQuery("*:*");
        query.setParam("fq", "id:[ " + startkey + " TO * ]");
        if (returnFields) {
            query.setFields(fieldList);
        }
        query.setRows(recordcount);
        final QueryResponse response = client.query(table, query);
        SolrDocumentList results = response.getResults();

        HashMap<String, ByteIterator> entry;

        for (SolrDocument hit : results) {
            entry = new HashMap<>((int) results.getNumFound());
            for (String field : hit.getFieldNames()) {
                entry.put(field, new StringByteIterator(String.valueOf(hit.getFirstValue(field))));
            }
            result.add(entry);
        }
        return checkStatus(response.getStatus());
    } catch (IOException | SolrServerException e) {
        e.printStackTrace();
    }
    return Status.ERROR;
}

From source file:com.zb.app.external.lucene.solr.utils.BaseSolrQueryConvert.java

License:Open Source License

public static SolrQuery createSuggestQuery(SuggestQuery query) {
    SolrQuery solrQuery = new SolrQuery();
    StringBuilder sb = new StringBuilder();
    sb.append("suggest:").append(query.getPrefix()).append("*");
    solrQuery.setQuery(sb.toString());
    solrQuery.addField(query.getField());
    if (StringUtils.isNotEmpty(query.getSortFiled())) {
        solrQuery.addSort(query.getSortFiled(), SolrQuery.ORDER.desc);
    }//from   w  ww  .  j  a v  a2 s .co  m
    solrQuery.setStart(0);
    solrQuery.setRows(100);

    // solrQuery.set("qt", "/terms");
    // solrQuery.setFacet(true);
    // solrQuery.setFacetMinCount(1);
    // solrQuery.setFacetLimit(10);
    // solrQuery.setFacetPrefix(query.getField(), query.getPrefix());
    // solrQuery.setFacetSort(query.getSortFiled());
    // solrQuery.setRows(0);
    // solrQuery.setQuery("*");

    // solrQuery.setTerms(true);
    // solrQuery.setTermsLimit(10);
    // solrQuery.setTermsMinCount(1);
    // solrQuery.setTermsPrefix(query.getPrefix());
    // solrQuery.setTermsRegexFlag(query.getField());
    // solrQuery.setTermsSortString(query.getSortFiled());
    return solrQuery;
}

From source file:com.zb.app.external.lucene.solr.utils.BaseSolrQueryConvert.java

License:Open Source License

protected static SolrQuery createSearchQuery(List<String> params, List<String> fiters,
        SearchQuery searchQuery) {/*from   ww w. ja v  a2 s.com*/
    SolrQuery solrQuery = new SolrQuery();
    String query = null;
    if (Argument.isEmpty(params)) {
        query = ("*:*");
    } else {
        query = StringUtils.join(params, " AND ");
        if (!StringUtils.join(params.toArray()).contains("*")) {
            solrQuery.setRequestHandler("/browse");
        }
    }
    if (Argument.isNotEmpty(fiters)) {
        solrQuery.setFilterQueries(StringUtils.join(fiters, " AND "));
    }
    solrQuery.setQuery(query);
    solrQuery.setStart(searchQuery.getStart());
    solrQuery.setRows(searchQuery.getRows());
    if (StringUtils.isNotBlank(searchQuery.getSortFiled())) {
        solrQuery.addSort(searchQuery.getSortFiled(), searchQuery.getOrderBy());
    }
    return solrQuery;
}

From source file:cz.brmlab.yodaqa.provider.solr.Solr.java

License:Apache License

public SolrDocumentList runQuery(String q, int results) throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(escapeQuery(q));
    query.setRows(results);/*from  ww  w.j av  a2 s . c o m*/
    query.setFields("*", "score");
    QueryResponse rsp;
    while (true) {
        try {
            rsp = server.query(query, METHOD.POST);
            break; // Success!
        } catch (SolrServerException e) {
            if (e.getRootCause() instanceof IOException)
                notifyRetry(e);
            else
                throw e;
        }
    }
    return rsp.getResults();
}

From source file:cz.brmlab.yodaqa.provider.solr.Solr.java

License:Apache License

public String getDocText(String id) throws SolrServerException {
    String q = "id:" + id;
    SolrQuery query = new SolrQuery();
    query.setQuery(q);
    query.setFields("text");
    QueryResponse rsp;/*from   w  w w  .j  a v a2s. c  om*/
    while (true) {
        try {
            rsp = server.query(query);
            break; // Success!
        } catch (SolrServerException e) {
            if (e.getRootCause() instanceof IOException)
                notifyRetry(e);
            else
                throw e;
        }
    }

    String docText = "";
    if (rsp.getResults().getNumFound() > 0) {
        @SuppressWarnings({ "unchecked", "rawtypes" })
        ArrayList<String> results = (ArrayList) rsp.getResults().get(0).getFieldValues("text");
        docText = results.get(0);
    }
    return docText;
}