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

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

Introduction

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

Prototype

public SolrQuery() 

Source Link

Usage

From source file:com.liferay.portal.search.solr.internal.SolrQuerySuggester.java

License:Open Source License

@Override
public String[] suggestKeywordQueries(SearchContext searchContext, int max) throws SearchException {

    SolrQuery solrQuery = new SolrQuery();

    solrQuery.setFilterQueries(getFilterQueries(searchContext, SuggestionConstants.TYPE_QUERY_SUGGESTION));

    StringBundler sb = new StringBundler(6);

    sb.append("start");

    String keywords = searchContext.getKeywords();

    sb.append(keywords.length());/*from  w  w  w .j a va2 s. c o m*/

    sb.append(StringPool.COLON);
    sb.append(StringPool.QUOTE);
    sb.append(keywords);
    sb.append(StringPool.QUOTE);

    solrQuery.setQuery(sb.toString());

    solrQuery.setRows(max);

    try {
        QueryResponse queryResponse = _solrServer.query(solrQuery);

        SolrDocumentList solrDocumentList = queryResponse.getResults();

        String[] querySuggestions = new String[solrDocumentList.size()];

        for (int i = 0; i < solrDocumentList.size(); i++) {
            SolrDocument solrDocument = solrDocumentList.get(i);

            querySuggestions[i] = (String) solrDocument.getFieldValue(Field.KEYWORD_SEARCH);
        }

        return querySuggestions;
    } catch (Exception e) {
        if (_log.isDebugEnabled()) {
            _log.debug("Unable to execute Solr query", e);
        }

        throw new SearchException(e.getMessage());
    }
}

From source file:com.liferay.portal.search.solr.internal.suggest.NGramQueryBuilderImpl.java

License:Open Source License

@Override
public SolrQuery getNGramQuery(String input) throws SearchException {
    SolrQuery solrQuery = new SolrQuery();

    if (_nGramHolderBuilder == null) {
        return solrQuery;
    }/* w  w w . j ava  2s . c  o  m*/

    StringBundler sb = new StringBundler(10);

    NGramHolder nGramHolder = _nGramHolderBuilder.buildNGramHolder(input);

    Map<String, List<String>> nGrams = nGramHolder.getNGrams();

    addNGramsListQuery(sb, nGrams);

    if (!nGrams.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    Map<String, String> nGramEnds = nGramHolder.getNGramEnds();

    addNGramsQuery(sb, nGramEnds);

    if (!nGramEnds.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    Map<String, String> nGramStarts = nGramHolder.getNGramStarts();

    addNGramsQuery(sb, nGramStarts);

    if (!nGramStarts.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    sb.append(Field.SPELL_CHECK_WORD);
    sb.append(StringPool.COLON);
    sb.append(input);

    solrQuery.setQuery(sb.toString());

    return solrQuery;
}

From source file:com.liferay.portal.search.solr.NGramQueryBuilderImpl.java

License:Open Source License

@Override
public SolrQuery getNGramQuery(String input) throws SearchException {
    SolrQuery solrQuery = new SolrQuery();

    StringBundler sb = new StringBundler(10);

    NGramHolder nGramHolder = NGramHolderBuilderUtil.buildNGramHolder(input);

    Map<String, List<String>> nGrams = nGramHolder.getNGrams();

    addNGramsListQuery(sb, nGrams);/*w w  w . j a v a2  s  . c o  m*/

    if (!nGrams.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    Map<String, String> nGramEnds = nGramHolder.getNGramEnds();

    addNGramsQuery(sb, nGramEnds);

    if (!nGramEnds.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    Map<String, String> nGramStarts = nGramHolder.getNGramStarts();

    addNGramsQuery(sb, nGramStarts);

    if (!nGramStarts.isEmpty()) {
        addOrQuerySeparator(sb);
    }

    sb.append(Field.SPELL_CHECK_WORD);
    sb.append(StringPool.COLON);
    sb.append(input);

    solrQuery.setQuery(sb.toString());

    return solrQuery;
}

From source file:com.liferay.portal.search.solr.SolrIndexSearcher.java

License:Open Source License

protected QueryResponse search(SearchContext searchContext, Query query, int start, int end, boolean count)
        throws Exception {

    SolrQuery solrQuery = new SolrQuery();

    if (count) {/*  w w w. ja  v a  2 s .c om*/
        solrQuery.setRows(0);
    } else {
        QueryConfig queryConfig = query.getQueryConfig();

        addFacets(solrQuery, searchContext);
        addHighlights(solrQuery, queryConfig);
        addPagination(solrQuery, start, end);
        addSelectedFields(solrQuery, queryConfig);
        addSort(solrQuery, searchContext.getSorts());

        solrQuery.setIncludeScore(queryConfig.isScoreEnabled());
    }

    translateQuery(solrQuery, searchContext, query);

    return _solrServer.query(solrQuery, METHOD.POST);
}

From source file:com.liferay.portal.search.solr.SolrIndexSearcherImpl.java

License:Open Source License

protected SolrQuery translateQuery(long companyId, Query query, Sort[] sorts, int start, int end)
        throws Exception {

    QueryTranslatorUtil.translateForSolr(query);

    String queryString = query.toString();

    QueryConfig queryConfig = query.getQueryConfig();

    SolrQuery solrQuery = new SolrQuery();

    solrQuery.setHighlight(queryConfig.isHighlightEnabled());
    solrQuery.setHighlightFragsize(queryConfig.getHighlightFragmentSize());
    solrQuery.setHighlightSnippets(queryConfig.getHighlightSnippetSize());
    solrQuery.setIncludeScore(queryConfig.isScoreEnabled());
    solrQuery.setQuery(queryString);//  w  w  w  .  j a  va 2s  .co  m

    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS)) {
        solrQuery.setRows(0);
    } else {
        solrQuery.setRows(end - start);
        solrQuery.setStart(start);
    }

    if ((sorts != null) && (sorts.length > 0)) {
        for (Sort sort : sorts) {
            if (sort == null) {
                continue;
            }

            String sortFieldName = sort.getFieldName();

            if (ArrayUtil.contains(PortletPropsValues.SOLR_SORTABLE_TEXT_FIELDS, sortFieldName)) {

                sortFieldName = GetterUtil.getString(
                        PortletProps.get(PortletPropsKeys.SOLR_COPY_FIELDS, new Filter(sortFieldName)));
            }

            ORDER order = ORDER.asc;

            if (sortFieldName == null) {
                sortFieldName = "score";

                order = ORDER.desc;
            } else if (sort.isReverse()) {
                order = ORDER.desc;
            }

            solrQuery.addSortField(sortFieldName, order);
        }
    }

    return solrQuery;
}

From source file:com.lucidworks.fusion.support.tests.DocumentLevelACP.java

public ArrayList<SolrDocument> run() {
    ArrayList<SolrDocument> list = new SolrDocumentList();
    try {//from   www. jav a 2 s  . c o m
        SolrClient client = getSolrClient();

        SolrQuery query = new SolrQuery();
        query.setQuery("*");
        query.setRows(10);

        QueryResponse resp = client.query(DEFAULT_COLLECTION, query);
        SolrDocumentList results = resp.getResults();
        SolrDocument doc;
        for (int i = 0; i < results.size(); ++i) {
            System.out.println(results.get(i));
            doc = results.get(i);
            if (hasACP(doc)) {
                list.add(doc);
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

    return list;
}

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

License:Open Source License

public static SolrQuery toAll() {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*:*");
    return solrQuery;
}

From source file:com.mmj.app.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());/*from ww  w  .j a v a  2s  . com*/
    solrQuery.addField(query.getField());
    if (StringUtils.isNotEmpty(query.getSortFiled())) {
        solrQuery.addSort(query.getSortFiled(), SolrQuery.ORDER.desc);
    }
    solrQuery.setStart(0);
    solrQuery.setRows(100);
    return solrQuery;
}

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

License:Open Source License

protected static SolrQuery createSearchQuery(List<String> params, List<String> fiters, SearchQuery searchQuery,
        String... searchHandler) {
    SolrQuery solrQuery = new SolrQuery();
    String query = null;/* w  ww. ja v  a  2 s .c  o  m*/
    if (Argument.isEmpty(params)) {
        query = ("*:*");
    } else {
        query = StringUtils.join(params, " AND ");
        if (!StringUtils.join(params.toArray()).contains("*")) {
            if (Argument.isNotEmptyArray(searchHandler)) {
                solrQuery.setRequestHandler(
                        StringUtils.isEmpty(searchHandler[0]) ? "/select" : searchHandler[0]);
            }

        }
    }
    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:com.ms.scombiz.solr.utils.BaseSolrQueryConvert.java

License:Open Source License

protected static SolrQuery setQuery(List<String> params, SearchQuery searchQuery) {
    SolrQuery solrQuery = new SolrQuery();
    String query = null;//from  ww w .  java2s  . co m
    if (params.isEmpty()) {
        query = ("*:*");
    } else {
        query = StringUtils.join(params, " 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;
}