List of usage examples for org.apache.solr.client.solrj SolrQuery setStart
public SolrQuery setStart(Integer start)
From source file:com.lanacion.adminsiteln.config.SolrConnection.java
public int countDocuments(String UserQuery) throws SolrServerException { SolrQuery query = new SolrQuery(); if (UserQuery.length() > 0) { query.setQuery(UserQuery);/*from w ww.j a v a 2s .c om*/ } else { query.setQuery("*:*"); } //query.addFilterQuery("cat:electronics","store:amazon.com"); query.setFields("titulo", "cuerpo"); query.setStart(0); query.setRows(10000); query.set("defType", "edismax"); QueryResponse response = solrCore.query(query); SolrDocumentList results = response.getResults(); return results.size(); }
From source file:com.liferay.portal.search.solr.internal.SolrIndexSearcher.java
License:Open Source License
protected void addPagination(SolrQuery solrQuery, int start, int end) { solrQuery.setRows(end - start);//from ww w . ja va2 s . c o m solrQuery.setStart(start); }
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);/*from ww w .ja v a 2s . c om*/ 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.lyncode.oai.proxy.data.ProxyItemRepository.java
License:Apache License
@Override public ListItemIdentifiersResult getItemIdentifiers(List<Filter> filters, int offset, int length) { try {//from ww w.ja v a 2 s . c o m List<String> whereCond = new ArrayList<String>(); for (Filter filter : filters) { if (filter.getFilter() instanceof ProxyFilter) { ProxyFilter proxyFilter = (ProxyFilter) filter.getFilter(); whereCond.add("(" + proxyFilter.query() + ")"); } } if (whereCond.isEmpty()) whereCond.add("*:*"); SolrQuery query = new SolrQuery("(" + StringUtils.join(whereCond.iterator(), ") AND (") + ")"); query.setStart(offset); query.setRows(length); SolrDocumentList list = SolrServerManager.getServer().query(query).getResults(); List<AbstractItemIdentifier> results = new ArrayList<AbstractItemIdentifier>(); for (SolrDocument doc : list) results.add(new ProxyItem(doc)); return new ListItemIdentifiersResult(list.getNumFound() > offset + length, results, (int) list.getNumFound()); } catch (SolrServerException e) { return new ListItemIdentifiersResult(false, new ArrayList<AbstractItemIdentifier>()); } }
From source file:com.lyncode.oai.proxy.data.ProxyItemRepository.java
License:Apache License
@Override public ListItemsResults getItems(List<Filter> filters, int offset, int length) { try {/*from ww w . ja v a 2 s. c o m*/ List<String> whereCond = new ArrayList<String>(); for (Filter filter : filters) { if (filter.getFilter() instanceof ProxyFilter) { ProxyFilter proxyFilter = (ProxyFilter) filter.getFilter(); whereCond.add("(" + proxyFilter.query() + ")"); } } if (whereCond.isEmpty()) whereCond.add("*:*"); SolrQuery query = new SolrQuery("(" + StringUtils.join(whereCond.iterator(), ") AND (") + ")"); query.setStart(offset); query.setRows(length); SolrDocumentList list = SolrServerManager.getServer().query(query).getResults(); List<AbstractItem> results = new ArrayList<AbstractItem>(); for (SolrDocument doc : list) results.add(new ProxyItem(doc)); return new ListItemsResults(list.getNumFound() > offset + length, results, (int) list.getNumFound()); } catch (SolrServerException e) { return new ListItemsResults(false, new ArrayList<AbstractItem>()); } }
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());// w w w .jav a2s.c om 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;//from w w w . ja v a 2 s .co 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 w w w . j a v a2 s. c o 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; }
From source file:com.mycompany.sparkrentals.client.RentalSolrClient.java
/** * search results based on field values in cleanedData * * @param cleanedData/* w w w . j a va 2 s. c o m*/ * @param perPage * @return * @throws SolrServerException * @throws IOException */ public QueryResponse searchRentals(Map<String, Object> cleanedData, int perPage) throws SolrServerException, IOException { SolrQuery query = new SolrQuery("*"); //start adding filtering for (String field : Arrays.asList("city", "province", "country", "type", "zipCode")) { if (cleanedData.get(field) != null) { query.addFilterQuery(field + ":\"" + cleanedData.get(field) + "\""); } } for (String field : Arrays.asList("hasAirCondition", "hasGarden", "hasPool", "isCloseToBeach")) { if (cleanedData.get(field) != null) { boolean isYes = cleanedData.get(field).equals("Yes"); query.addFilterQuery(field + ":\"" + isYes + "\""); } } if (cleanedData.get("roomsNumberFrom") != null || cleanedData.get("roomsNumberTo") != null) { String roomsNumberFrom = "*"; String roomsNumberTo = "*"; if (cleanedData.get("roomsNumberFrom") != null) { roomsNumberFrom = String.valueOf((int) cleanedData.get("roomsNumberFrom")); } if (cleanedData.get("roomsNumberTo") != null) { roomsNumberTo = String.valueOf((int) cleanedData.get("roomsNumberTo")); } String filterString = "roomsNumber:[" + roomsNumberFrom + " TO " + roomsNumberTo + "]"; query.addFilterQuery(filterString); } if (cleanedData.get("dailyPriceFrom") != null || cleanedData.get("dailyPriceTo") != null) { String dailyPriceFrom = "*"; String dailyPriceTo = "*"; if (cleanedData.get("dailyPriceFrom") != null) { dailyPriceFrom = String.format("%.2f", (float) cleanedData.get("dailyPriceFrom")); } if (cleanedData.get("dailyPriceTo") != null) { dailyPriceTo = String.format("%.2f", (float) cleanedData.get("dailyPriceTo")); } String filterString = "dailyPrice:[" + dailyPriceFrom + " TO " + dailyPriceTo + "]"; query.addFilterQuery(filterString); } if (cleanedData.get("timePeriod") != null) { int timePeriod = (int) cleanedData.get("timePeriod"); query.addFilterQuery("updated:[NOW-" + timePeriod + "DAY TO * ]"); } //pagination int currentPage = (int) cleanedData.getOrDefault("page", 1); query.setStart((currentPage - 1) * perPage); query.setRows(perPage); return solrClient.query(query); }
From source file:com.nominanuda.solr.SolrHelper.java
License:Apache License
public DataArray listResultsDotAware(SolrServer solr, SolrQuery sq, int start, int count) throws SolrServerException { DataArray res = new DataArrayImpl(); sq.setStart(start); sq.setRows(count);/*from www . j a v a2 s .c om*/ QueryResponse qr = solr.query(sq); qr.getResults(); SolrDocumentList sdl = qr.getResults(); for (Map<String, Object> d : sdl) { DataObject o = solrDoc2DataObject(d); res.add(o); } return res; }