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

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

Introduction

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

Prototype

public SolrQuery setStart(Integer start) 

Source Link

Usage

From source file:de.fatalix.bookery.view.search.SearchView.java

License:Open Source License

@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
    SolrQuery.SortClause sortClause = SolrQuery.SortClause.asc("author");

    String searchString = SolrSearchUtil.generateSearchString(appHeader.getSearchText());

    String[] params = event.getParameters().split("/");
    if (params.length > 0) {
        String sortParameter = params[0];
        switch (sortParameter) {
        case "author":
            sortClause = SolrQuery.SortClause.asc("author");
            break;
        case "likes":
            sortClause = SolrQuery.SortClause.desc("likes");
            break;
        case "downloads":
            sortClause = SolrQuery.SortClause.desc("downloadcount");
            break;
        }//from ww w  .ja v a2s.  c o m

        if (params.length > 1) {
            String viewer = SecurityUtils.getSubject().getPrincipal().toString();
            searchString = SolrSearchUtil.addNewBooksSearchString(viewer, searchString);
        }
    }
    SolrQuery query = new SolrQuery();
    query.setRows(20);
    query.setStart(0);
    query.setQuery(searchString);
    query.setSort(sortClause);
    query.setFields(SolrSearchUtil.DEFAULT_FIELDS);
    searchLayout.searchBooks(query, true);
}

From source file:de.fhg.iais.cortex.nodestore.searcher.NodeSearcherImpl.java

License:Apache License

@Override
public SolrDocumentList getHierarchyNodes(String ingestId, String providerId) {
    StringBuilder querySb = new StringBuilder(INGEST_ID + ":\"" + ingestId + "\" AND " + PROVIDER_ID + ":");
    if ("*".equals(providerId)) {
        querySb.append(providerId);/*from  w w w  .  j  a  va2 s.  c o m*/
    } else {
        querySb.append("\"" + providerId + "\"");
    }
    SolrQuery query = new SolrQuery(querySb.toString());
    query.setSort(SortClause.create(POSITION, SolrQuery.ORDER.asc));
    query.setStart(0);
    query.setRows(Integer.MAX_VALUE);

    try {
        QueryResponse response = this.solrServer.query(query);
        return response.getResults();
    } catch (SolrServerException e) {
        throw new NodeStoreException(
                "Could not retrieve nodes for ingest " + ingestId + " and provider " + providerId, e);
    }
}

From source file:de.fhg.iais.cortex.nodestore.searcher.NodeSearcherImpl.java

License:Apache License

@Override
public SolrDocumentList getHierarchyChildren(String id, Query filterQuery) {
    SolrQuery childQuery = new SolrQuery(PARENT + ":\"" + id + "\"");
    if (!Strings.isNullOrEmpty(filterQuery.getQuery()) && !filterQuery.getQuery().equals(Query.ALL_QUERY)) {
        childQuery.addFilterQuery(filterQuery.getQuery());
    }//www  . j  av a  2 s .  c o  m
    childQuery.setStart(filterQuery.getOffset());
    childQuery.setRows(filterQuery.getRows());
    childQuery.setSort(SortClause.create(POSITION, SolrQuery.ORDER.asc));

    try {
        QueryResponse response = this.solrServer.query(childQuery);
        return response.getResults();
    } catch (SolrServerException e) {
        throw new NodeStoreException("Could not retrieve the node with id " + id, e);
    }
}

From source file:de.fhg.iais.cortex.nodestore.searcher.NodeSearcherImpl.java

License:Apache License

@Override
public long hasChildren(String id) {
    SolrQuery childQuery = new SolrQuery(PARENT + ":\"" + id + "\"");
    childQuery.setStart(0);
    childQuery.setRows(1);/*from   w w  w  .  ja  va2 s  . c o  m*/

    try {
        QueryResponse response = this.solrServer.query(childQuery);
        return response.getResults().getNumFound();
    } catch (SolrServerException e) {
        throw new NodeStoreException("Could not determine the number of children for the node with id " + id,
                e);
    }
}

From source file:de.kp.ames.web.core.search.SearcherImpl.java

License:Open Source License

public String search(String request, String start, String limit) throws Exception {

    /*//from w  w  w  .  j a v a2 s .  c o m
     * Build Apache Solr query
     */
    JSONObject jQuery = new JSONObject(request);
    String term = jQuery.has(JsonConstants.J_TERM) ? jQuery.getString(JsonConstants.J_TERM) : "*";

    String fp = setFacets(jQuery);
    SolrQuery query = new SolrQuery();

    if (fp != null)
        query.addFilterQuery(fp);

    /* 
     * Paging support from Apache Solr
     */
    int s = Integer.valueOf(start);
    int r = Integer.valueOf(limit);

    query.setStart(s);
    query.setRows(r);

    String qs = term + " OR " + SearchConstants.TERMS_FIELD + ":" + term;
    query.setQuery(qs);

    QueryResponse response = solrProxy.executeQuery(query);
    SolrDocumentList docs = response.getResults();

    long total = docs.getNumFound();

    /*
     * Sort search result
     */
    StringCollector collector = new StringCollector();

    Iterator<SolrDocument> iter = docs.iterator();
    while (iter.hasNext()) {

        int pos = -1;

        SolrDocument doc = iter.next();
        JSONObject jDoc = new JSONObject();

        /* 
         * Identifier
         */
        String id = (String) doc.getFieldValue(SearchConstants.S_ID);
        jDoc.put(JsonConstants.J_ID, id);

        /* 
         * Name
         */
        String name = (String) doc.getFieldValue(SearchConstants.S_NAME);
        jDoc.put(JsonConstants.J_NAME, name);

        /* 
         * Source
         */
        String source = (String) doc.getFieldValue(SearchConstants.S_FACET);
        pos = source.lastIndexOf(":");

        jDoc.put(JsonConstants.J_FACET, source.substring(pos + 1));

        /* 
         * Description
         */
        String desc = (String) doc.getFieldValue(SearchConstants.S_DESC);
        desc = (desc == null) ? FncMessages.NO_DESCRIPTION_DESC : desc;

        jDoc.put(JsonConstants.J_DESC, desc);
        collector.put(name, jDoc);

    }

    /*
     * Render result
     */
    JSONArray jArray = new JSONArray(collector.values());
    return renderer.createGrid(jArray, total);

}

From source file:de.qaware.chronix.solr.client.stream.SolrStreamingService.java

License:Apache License

private void streamDocumentsFromSolr() {
    SolrQuery solrQuery = query.getCopy();
    solrQuery.setRows(nrOfTimeSeriesPerBatch);
    solrQuery.setStart(currentDocumentCount);

    solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount);

    try {//from   w  w w . j  a  v a2  s.c  om
        connection.queryAndStreamResponse(solrQuery, solrStreamingHandler);
        SolrDocument document;
        do {
            document = solrStreamingHandler.pool();
            if (document != null) {
                ListenableFuture future = service
                        .submit(new TimeSeriesConverterCaller<>(document, converter, queryStart, queryEnd));
                Futures.addCallback(future, timeSeriesHandler);
            }

        } while (solrStreamingHandler.canPoll());
    } catch (SolrServerException | IOException e) {
        LOGGER.warn("Exception while streaming the data points from Solr", e);
    }
}

From source file:de.qaware.chronix.storage.solr.stream.SolrStreamingService.java

License:Apache License

private void initialStream(SolrQuery query, SolrClient connection) {
    try {/*from w ww.  j a  v a 2 s . c  o  m*/
        SolrQuery solrQuery = query.getCopy();
        solrQuery.setRows(nrOfTimeSeriesPerBatch);
        solrQuery.setStart(currentDocumentCount);

        solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount);
        QueryResponse response = connection.queryAndStreamResponse(solrQuery, solrStreamingHandler);

        nrOfAvailableTimeSeries = response.getResults().getNumFound();
        queryStart = 0;//(long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_START_LONG);
        queryEnd = Long.MAX_VALUE;//(long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_END_LONG);

        needStream = false;
    } catch (SolrServerException | IOException e) {
        LOGGER.error("SolrServerException occurred while querying server.", e);
    }
}

From source file:de.qaware.chronix.storage.solr.stream.SolrStreamingService.java

License:Apache License

private void streamNextDocumentsFromSolr() {
    SolrQuery solrQuery = query.getCopy();
    solrQuery.setRows(nrOfTimeSeriesPerBatch);
    solrQuery.setStart(currentDocumentCount);

    solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount);

    try {/*from   w w w.j  ava  2s  .  c  o  m*/
        connection.queryAndStreamResponse(solrQuery, solrStreamingHandler);
        convertStream();
    } catch (SolrServerException | IOException e) {
        LOGGER.warn("Exception while streaming the data points from Solr", e);
    }
}

From source file:edu.cornell.mannlib.vitro.webapp.controller.accounts.admin.ajax.ProfileAutoCompleter.java

License:Open Source License

private SolrQuery buildSolrQuery() {
    SolrQuery q = new SolrQuery();
    q.setFields(NAME_RAW, URI);/*from  www.  j  a  v  a2s  . c  o m*/
    q.setSortField(NAME_LOWERCASE_SINGLE_VALUED, ORDER.asc);
    q.setFilterQueries(SolrQueryUtils.assembleConjunctiveQuery(RDFTYPE, profileTypes, OR));
    q.setStart(0);
    q.setRows(10000);
    q.setQuery(searchWords.assembleQuery(NAME_UNSTEMMED, AC_NAME_STEMMED));
    return q;
}

From source file:edu.cornell.mannlib.vitro.webapp.controller.accounts.manageproxies.ajax.BasicProfilesGetter.java

License:Open Source License

private SolrQuery buildSolrQuery() {
    SolrQuery q = new SolrQuery();
    q.setFields(NAME_RAW, URI);//from  w  w  w .j  a v  a  2 s . c  om
    q.setSortField(NAME_LOWERCASE_SINGLE_VALUED, ORDER.asc);
    q.setFilterQueries(SolrQueryUtils.assembleConjunctiveQuery(RDFTYPE, profileTypes, OR));
    q.setStart(0);
    q.setRows(30);
    q.setQuery(searchWords.assembleQuery(NAME_UNSTEMMED, AC_NAME_STEMMED));
    return q;
}