List of usage examples for org.apache.solr.client.solrj SolrQuery SolrQuery
public SolrQuery()
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; }