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

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

Introduction

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

Prototype

public SolrQuery setTermsPrefix(String prefix) 

Source Link

Usage

From source file:com.frank.search.solr.core.TermsQueryParser.java

License:Apache License

protected void appendTermsOptionsToSolrQuery(TermsOptions options, SolrQuery solrQuery) {
    solrQuery.setTerms(true);//  www.  j  av a2  s  . c  o m
    if (options.getLimit() >= 0) {
        solrQuery.setTermsLimit(options.getLimit());
    }
    if (options.getMaxCount() >= -1) {
        solrQuery.setTermsMaxCount(options.getMaxCount());
    }
    if (options.getMinCount() >= 0) {
        solrQuery.setTermsMinCount(options.getMinCount());
    }
    if (StringUtils.hasText(options.getPrefix())) {
        solrQuery.setTermsPrefix(options.getPrefix());
    }
    if (StringUtils.hasText(options.getRegex())) {
        solrQuery.setTermsRegex(options.getRegex());
    }
    if (options.getRegexFlag() != null) {
        solrQuery.setTermsRegexFlag(options.getRegexFlag().toString().toLowerCase());
    }
    if (options.getSort() != null) {
        solrQuery.setTermsSortString(options.getSort().toString().toLowerCase());
    }
    if (options.getUpperBoundTerm() != null) {
        solrQuery.setTermsUpper(options.getUpperBoundTerm().getTerm());
        solrQuery.setTermsUpperInclusive(options.getUpperBoundTerm().isInclude());
    }
    if (options.getLowerBoundTerm() != null) {
        solrQuery.setTermsUpper(options.getLowerBoundTerm().getTerm());
        solrQuery.setTermsUpperInclusive(options.getLowerBoundTerm().isInclude());
    }
    if (!options.isRaw()) {
        solrQuery.setTermsRaw(options.isRaw());
    }

}

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 {//from w  ww  .j a  va2 s  .  c om
        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:cz.incad.vdk.client.tools.Search.java

License:Open Source License

public JSONArray getSuggest() {
    try {/*from w ww .  j av a 2 s  .co  m*/
        String q = req.getParameter("term");
        SolrQuery query = new SolrQuery();
        if (q == null || q.equals("")) {
            return new JSONArray();
        }

        query.setParam(CommonParams.QT, "/terms");
        query.setTerms(true);
        query.setTermsPrefix(q.toUpperCase());
        query.setTermsLowerInclusive(true);
        query.addTermsField("title_suggest");
        JSONArray ja = new JSONObject(IndexerQuery.terms(query)).getJSONObject("terms")
                .getJSONArray("title_suggest");
        JSONArray ret = new JSONArray();
        for (int i = 0; i < ja.length(); i = i + 2) {
            String val = ja.getString(i);
            ret.put(new JSONObject().put("value", val).put("label", val.substring(val.indexOf("##") + 2)));
        }

        return ret;
    } catch (IOException ex) {
        Logger.getLogger(Search.class.getName()).log(Level.SEVERE, null, ex);
        return new JSONArray();
    }
}