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.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;
}