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

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

Introduction

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

Prototype

public SolrQuery setQuery(String query) 

Source Link

Usage

From source file:ddf.catalog.source.solr.SolrMetacardClient.java

License:Open Source License

protected SolrQuery getSolrQuery(QueryRequest request, SolrFilterDelegate solrFilterDelegate)
        throws UnsupportedQueryException {
    solrFilterDelegate.setSortPolicy(request.getQuery().getSortBy());
    SolrQuery query = filterAdapter.adapt(request.getQuery(), solrFilterDelegate);

    // Solr does not support outside parenthesis in certain queries and throws EOF exception.
    String queryPhrase = query.getQuery().trim();
    if (queryPhrase.matches("\\(\\s*\\{!.*\\)")) {
        query.setQuery(queryPhrase.replaceAll("^\\(\\s*|\\s*\\)$", ""));
    }//from  ww w  .  j  a v  a2  s  .co  m

    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Prepared Query: {}", query.getQuery());
        if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) {
            LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries()));
        }
    }

    if (request.getQuery().getPageSize() < 1) {
        query.setRows(Integer.MAX_VALUE);
    } else {
        query.setRows(request.getQuery().getPageSize());
    }

    /* Start Index */
    if (request.getQuery().getStartIndex() < 1) {
        throw new UnsupportedQueryException("Start index must be greater than 0");
    }

    // Solr is 0-based
    query.setStart(request.getQuery().getStartIndex() - 1);

    return query;
}

From source file:ddf.catalog.source.solr.SolrMetacardClientImpl.java

License:Open Source License

@Override
public List<Metacard> query(String queryString) throws UnsupportedQueryException {
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    try {/* w  w w .j a  va 2s  .c  o m*/
        QueryResponse solrResponse = client.query(query, SolrRequest.METHOD.POST);
        SolrDocumentList docs = solrResponse.getResults();

        List<Metacard> results = new ArrayList<>();
        for (SolrDocument doc : docs) {
            try {
                results.add(createMetacard(doc));
            } catch (MetacardCreationException e) {
                throw new UnsupportedQueryException("Could not create metacard(s).", e);
            }
        }

        return results;
    } catch (SolrServerException | IOException e) {
        throw new UnsupportedQueryException("Could not complete solr query.", e);
    }

}

From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java

License:Apache License

private SolrQuery createSolrQueryWithQueryString(String query) {
    SolrQuery solrQuery = new SolrQuery();

    String appendQuery = getAppendQuery().trim();
    String qValue = query;//from  www . j ava2 s.c o m
    if (appendQuery != "" && !appendQuery.equals(qValue)) {
        qValue = appendQuery + " AND " + qValue;
    }
    solrQuery.setQuery(qValue);
    solrQuery.addField(null);

    return solrQuery;
}

From source file:de.fatalix.book.importer.SolrHandler.java

License:Open Source License

public static QueryResponse searchSolrIndex(SolrServer solr, String queryString, int rows, int startOffset)
        throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);

    query.setRows(rows);//from w ww  .  j  a v  a  2  s.  com
    query.setStart(startOffset);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public QueryResponse searchSolrIndex(String queryString, String fields, int rows, int startOffset)
        throws SolrServerException {
    SolrServer solr = null;// w  ww  .  java2 s .  c  o m
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    query.setRows(rows);
    query.setStart(startOffset);

    query.setFields(fields);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public QueryResponse searchSolrIndexSorted(String queryString, String fields, int rows, int startOffset,
        String sortField) throws SolrServerException {
    SolrServer solr = null;//from ww  w  .  j a  va  2s  . c o  m
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    query.setRows(rows);
    query.setStart(startOffset);
    query.setSort(sortField, SolrQuery.ORDER.desc);
    query.setFields(fields);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getBookDetail(String bookID) throws SolrServerException {
    SolrServer solr = null;//w w  w  .  j a va 2 s. com
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields(
            "id,author,title,isbn,publisher,description,language,releaseDate,likes,downloadcount,uploader,viewed,shared,cover,thumbnail,thumbnailgenerated,likedby");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getEpubBook(String bookID) throws SolrServerException {
    SolrServer solr = null;//from w w  w . j  a v  a2s. c om
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields("id,epub");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getMobiFormat(String bookID) throws SolrServerException {
    SolrServer solr = null;//from  ww  w.  j  av a2  s.c  o m
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields("id,mobi");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public long checkSolr() throws SolrServerException, IOException {
    SolrServer solr = bookeryService.getSolrConnection();
    SolrQuery query = new SolrQuery();
    query.setQuery("*:*");
    query.setRows(1);/*  w w  w. j a  v a 2s. co m*/
    QueryResponse rsp = solr.query(query);

    return rsp.getResults().getNumFound();
}