List of usage examples for org.apache.solr.client.solrj SolrQuery SolrQuery
public SolrQuery()
From source file:com.sitewhere.connectors.solr.search.SolrSearchProvider.java
License:Open Source License
@Override public JsonNode executeQueryWithRawResponse(String queryString) throws SiteWhereException { try {/* w ww.j av a 2s .co m*/ LOGGER.debug("About to execute Solr search with query string: " + queryString); NoOpResponseParser rawJsonResponseParser = new NoOpResponseParser(); rawJsonResponseParser.setWriterType("json"); SolrQuery query = new SolrQuery(); query.add(createParamsFromQueryString(queryString)); QueryRequest request = new QueryRequest(query); request.setResponseParser(rawJsonResponseParser); NamedList<?> results = getSolr().getSolrClient().request(request); return MAPPER.readTree((String) results.get("response")); } catch (SolrServerException e) { throw new SiteWhereException("Unable to execute query.", e); } catch (IOException e) { throw new SiteWhereException("Unable to execute query.", e); } }
From source file:com.smartitengineering.common.dao.search.solr.SolrFreeTextSearchDao.java
License:Open Source License
@Override public SearchResult<T> detailedSearch(List<QueryParameter> parameters) { SolrQuery query = new SolrQuery(); for (QueryParameter param : parameters) { switch (param.getParameterType()) { case PARAMETER_TYPE_PROPERTY: StringLikeQueryParameter queryParameter = QueryParameterCastHelper.STRING_PARAM_HELPER.cast(param); if (queryParameter.getPropertyName().equals("q")) { String queryString = queryParameter.getValue(); query.setQuery(queryString); } else { query.add(queryParameter.getPropertyName(), queryParameter.getValue()); }/*from w ww .j av a 2s . co m*/ break; case PARAMETER_TYPE_ORDER_BY: SimpleNameValueQueryParameter<Order> parameter = QueryParameterCastHelper.SIMPLE_PARAM_HELPER .cast(param); ORDER order = parameter.getValue().equals(Order.ASC) ? ORDER.asc : ORDER.desc; query.setSortField(parameter.getPropertyName(), order); break; case PARAMETER_TYPE_MAX_RESULT: ValueOnlyQueryParameter<Integer> valParam = QueryParameterCastHelper.VALUE_PARAM_HELPER.cast(param); Integer maxRows = valParam.getValue(); query.setRows(maxRows); break; case PARAMETER_TYPE_FIRST_RESULT: ValueOnlyQueryParameter<Integer> firstParam = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(param); Integer firstResult = firstParam.getValue(); query.setStart(firstResult); break; default: throw new UnsupportedOperationException("Only property and order by query parameter is supported!"); } } query.setIncludeScore(true); final SearchResult<MultivalueMap<String, Object>> mainResult = queryDao.getResult(query); final Collection<MultivalueMap<String, Object>> result = mainResult.getResult(); final Collection<T> convertedResult = adapter .convertInversely(result.toArray(new MultivalueMap[result.size()])); Iterator<T> resultItr = convertedResult.iterator(); while (resultItr.hasNext()) { T next = resultItr.next(); if (next == null) { resultItr.remove(); } } final SearchResult<T> actualResult = new SearchResult<T>(convertedResult, mainResult); return actualResult; }
From source file:com.sn.solr.plugin.comp.RankComponent.java
License:Apache License
/** * <p>//from w ww. j av a 2 s . c o m * Process request parameters & determines the ranking strategy based on * request. Creates invariants that are needed for request processing, this is * added on top of user request parameters. Appends invariants to existing * request params & call super.prepare(). * * @param rb */ @SuppressWarnings("deprecation") @Override public void prepare(ResponseBuilder rb) throws IOException { SolrParams params = rb.req.getParams(); RankStrategy rankStrategy = getRankStrategy(params); String rankField = getRankField(params); if (!(rankStrategy.equals(RankStrategy.ORDINAL) || rankStrategy.equals(RankStrategy.LEGACY_DENSE))) { SolrQuery invariants = new SolrQuery().setFacet(true).addFacetField(rankField).setFacetLimit(-1); AppendedSolrParams appendedParams = new AppendedSolrParams(params, invariants); LOG.info("Setting Invariants: {} Appended Params{}", new Object[] { invariants, appendedParams }); rb.req.setParams(appendedParams); } super.prepare(rb); }
From source file:com.sp.keyword_generator.SolrManager.java
License:Open Source License
public SolrDocumentList getCatalogDocs() throws SolrServerException { String SolrAdditionnalQuery = conf.getProperty("solr.additionnal.query"); SolrQuery solrQuery = new SolrQuery().setQuery(SolrAdditionnalQuery).setRows(MAX_FETCH_ROWS); QueryResponse rsp = solr.query(solrQuery); return rsp.getResults(); }
From source file:com.sp.keyword_generator.SolrManager.java
License:Open Source License
private Iterator<SolrDocument> getSolrBookIterator(int pBookId) throws SolrServerException { SolrQuery solrQuery = new SolrQuery().setQuery("book_id:" + pBookId).setRows(MAX_FETCH_ROWS); QueryResponse rsp = solr.query(solrQuery); return rsp.getResults().iterator(); }
From source file:com.sp.Parser.SolrQueryBuilder.java
License:Open Source License
/** * Initialize the Object with Filters { Countries, Prices } And create a * backup parameters in order to fallback during search processing * * @param obj/*from w ww . ja v a2 s. c o m*/ */ public SolrQueryBuilder() { super(); cleared_parameters = new SolrQuery(); }
From source file:com.ssavr.solr.service.impl.IceCreamLocalServiceImpl.java
License:Open Source License
/*************************************************************************** ************************** GET ******************************************** ***************************************************************************/ public IceCreamBean getIceCreamBean(IceCream iceCream) throws Exception { String uid = "iceCream_" + iceCream.getUuid(); IceCreamBean bean = new IceCreamBean(); bean.setUid(uid);//from ww w.j a v a 2 s .c o m bean.setCompanyId(iceCream.getCompanyId()); bean.setIceCreamId(iceCream.getIceCreamId()); bean.setName(iceCream.getName()); bean.setFlavor(iceCream.getFlavor()); List<IceCreamDocuments> documents = iceCreamDocumentsLocalService .getIceCreamDocumentsByIceCreamId(iceCream.getIceCreamId()); List<String> documentsContent = new ArrayList<String>(); if (!documents.isEmpty()) { List<String> documentIds = new ArrayList<String>(); for (IceCreamDocuments document : documents) { documentIds.add(String.valueOf(document.getDocumentId())); } String documentsStr = StringUtil.merge(documentIds, StringPool.SPACE); SolrQuery query = new SolrQuery(); query.setQuery(Field.ENTRY_CLASS_PK + ":(" + documentsStr + ")"); query.addFilterQuery( Field.ENTRY_CLASS_NAME + ":(com.liferay.portlet.documentlibrary.model.DLFileEntry)"); query.setStart(0); query.setRows(10000000); String activeServerUrl = SolrUtil.getActiveSolrServer(); CommonsHttpSolrServer server = new CommonsHttpSolrServer(activeServerUrl); QueryResponse qr = server.query(query); SolrDocumentList docs = qr.getResults(); if (_log.isDebugEnabled()) { _log.debug("Found " + docs.size() + " Document(-s)"); } for (int i = 0; i < docs.size(); ++i) { String docContent = (String) docs.get(i).getFieldValue("content"); documentsContent.add(docContent); } } bean.setIceCreamRecipeContent(documentsContent); if (_log.isDebugEnabled()) { _log.debug(bean.toString()); } return bean; }
From source file:com.ssavr.solr.service.impl.IceCreamLocalServiceImpl.java
License:Open Source License
public List<FacetField> getIceCreamsFacets() throws SystemException { List<FacetField> facets = new ArrayList<FacetField>(); String activeServerURL = SolrUtil.getActiveSolrServer(); try {/*from w ww. j av a 2 s . co m*/ CommonsHttpSolrServer server = new CommonsHttpSolrServer(activeServerURL); SolrQuery query = new SolrQuery(); query.setQuery(getQuery()); boolean enableFacet = true; query.setFacet(enableFacet); query.addFacetField("iceCreamName", "iceCreamFlavor"); QueryResponse response = server.query(query); facets = response.getFacetFields(); } catch (MalformedURLException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (SolrServerException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (HTTPException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } return facets; }
From source file:com.ssavr.solr.service.impl.IceCreamLocalServiceImpl.java
License:Open Source License
public List<IceCream> facetIceCreams(String facetValue) throws SystemException { if (_log.isDebugEnabled()) { _log.debug("facetIceCreams()"); }/*from ww w. j a va 2 s . co m*/ List<IceCream> iceCreams = new ArrayList<IceCream>(); String activeServerURL = SolrUtil.getActiveSolrServer(); try { CommonsHttpSolrServer server = new CommonsHttpSolrServer(activeServerURL); SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setFacet(true); query.addFacetQuery("iceCreamName:" + facetValue); QueryResponse response = server.query(query); List<SolrResponse> searchResults = response.getBeans(SolrResponse.class); for (SolrResponse result : searchResults) { String iceCreamId = result.getEntryClassPK(); IceCream iceCream = iceCreamPersistence.findByPrimaryKey(Long.parseLong(iceCreamId)); iceCreams.add(iceCream); } } catch (MalformedURLException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (SolrServerException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (NoSuchIceCreamException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (NumberFormatException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } return iceCreams; }
From source file:com.ssavr.solr.service.impl.IceCreamLocalServiceImpl.java
License:Open Source License
public List<IceCream> searchIceCreams(String name, String flavor, String text, int start, int rows, String orderByCol, String orderByType) throws PortalException, SystemException { if (_log.isDebugEnabled()) { _log.debug("searchIceCreams()"); }//www.j av a2 s. c o m List<IceCream> iceCreams = new ArrayList<IceCream>(); String activeServerURL = SolrUtil.getActiveSolrServer(); try { CommonsHttpSolrServer server = new CommonsHttpSolrServer(activeServerURL); SolrQuery query = new SolrQuery(); query.setQuery(getQuery()); List<String> filterQueries = getFilterQueries(name, flavor, text); for (String fq : filterQueries) { query.setFilterQueries(fq); } query.setStart(start); query.setRows(rows); QueryResponse response = server.query(query); List<SolrResponse> searchResults = response.getBeans(SolrResponse.class); for (SolrResponse result : searchResults) { String iceCreamId = result.getEntryClassPK(); IceCream iceCream = iceCreamPersistence.findByPrimaryKey(Long.parseLong(iceCreamId)); iceCreams.add(iceCream); } } catch (MalformedURLException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } catch (SolrServerException e) { if (_log.isDebugEnabled()) { _log.debug(e.getMessage()); } throw new SystemException(e); } return iceCreams; }