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