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

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

Introduction

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

Prototype

public SolrQuery setRows(Integer rows) 

Source Link

Usage

From source file:bamboo.trove.rule.RuleChangeUpdateManager.java

License:Apache License

private SolrQuery createQuery(String query) {
    SolrQuery q = new SolrQuery("*:*");
    // TODO: Should we add a request handler to the solr cluster to get metrics
    // on the volume and/or performance of these searches in their own bucket?
    q.setFilterQueries(query);//  w w w  .  j ava2s .co  m
    q.setFields(SOLR_FIELDS);
    q.setSort(SortClause.asc(SolrEnum.ID.toString()));
    q.setRows(solrReadSize);
    return q;
}

From source file:cn.edu.pku.lib.dataverse.SolrSearchServiceBean.java

public long getDatasetCount() throws SearchException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*:*");
    solrQuery.setFilterQueries(SearchFields.TYPE + ":datasets", SearchFields.PUBLICATION_STATUS + ":Published");
    solrQuery.setStart(0);// ww  w.j  a  va 2 s.  co m
    solrQuery.setRows(0);
    QueryResponse queryResponse = null;
    try {
        queryResponse = solrServer.query(solrQuery);
        return queryResponse.getResults().getNumFound();
    } catch (HttpSolrServer.RemoteSolrException | SolrServerException ex) {
        logger.log(Level.INFO, null, ex);
        throw new SearchException("Internal Dataverse Search Engine Error", ex);
    }
}

From source file:cn.edu.pku.lib.dataverse.SolrSearchServiceBean.java

public long getDataverseCount() throws SearchException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*:*");
    solrQuery.setFilterQueries(SearchFields.TYPE + ":dataverses",
            SearchFields.PUBLICATION_STATUS + ":Published");
    solrQuery.setStart(0);//from ww w .j ava 2 s .c  om
    solrQuery.setRows(0);
    QueryResponse queryResponse = null;
    try {
        queryResponse = solrServer.query(solrQuery);
        return queryResponse.getResults().getNumFound();
    } catch (HttpSolrServer.RemoteSolrException | SolrServerException ex) {
        logger.log(Level.INFO, null, ex);
        throw new SearchException("Internal Dataverse Search Engine Error", ex);
    }
}

From source file:cn.edu.pku.lib.dataverse.SolrSearchServiceBean.java

public SolrSearchResult searchDataverseByName(String query, Locale locale) throws SearchException {
    boolean isZh = locale.getLanguage().equals("zh");
    SolrQuery solrQuery = new SolrQuery();
    StringBuilder queryStr = new StringBuilder();
    query = ClientUtils.escapeQueryChars(query);
    queryStr.append("(");
    queryStr.append(SearchFields.NAME);/*from   w  w  w  . j a v a 2  s . c o m*/
    queryStr.append(":");
    queryStr.append(query);
    queryStr.append(" OR ");
    queryStr.append(SearchFields.NAME_ZH);
    queryStr.append(":");
    queryStr.append(query);
    queryStr.append(")");
    solrQuery.setQuery(queryStr.toString());
    solrQuery.setFilterQueries(SearchFields.TYPE + ":dataverses",
            SearchFields.PUBLICATION_STATUS + ":Published");
    if (isZh) {
        solrQuery.setFields(SearchFields.ENTITY_ID, SearchFields.NAME_ZH, SearchFields.DATAVERSE_AFFILIATION_ZH,
                SearchFields.DESCRIPTION_ZH);
    } else {
        solrQuery.setFields(SearchFields.ENTITY_ID, SearchFields.NAME, SearchFields.DATAVERSE_AFFILIATION,
                SearchFields.DESCRIPTION);
    }
    logger.log(Level.INFO, "Solr query:{0}", solrQuery);
    solrQuery.setRows(100);
    QueryResponse queryResponse = null;
    SolrSearchResult result = new SolrSearchResult();
    try {
        queryResponse = solrServer.query(solrQuery);
    } catch (HttpSolrServer.RemoteSolrException ex) {
        logger.log(Level.INFO, null, ex);
        result.setTotal(0);
        result.setResults(Collections.EMPTY_LIST);
        return result;
    } catch (SolrServerException ex) {
        throw new SearchException("Internal Dataverse Search Engine Error", ex);
    }
    SolrDocumentList docs = queryResponse.getResults();
    docs.getNumFound();
    Iterator<SolrDocument> iter = docs.iterator();
    List<Dataverse> dataverses = new ArrayList<>();
    while (iter.hasNext()) {
        SolrDocument solrDocument = iter.next();
        Dataverse dataverse = new Dataverse();
        if (isZh) {
            dataverse.setId((Long) solrDocument.getFieldValue(SearchFields.ENTITY_ID));
            dataverse.setNameZh((String) solrDocument.getFieldValue(SearchFields.NAME_ZH));
            dataverse.setAffiliationZh(
                    (String) solrDocument.getFieldValue(SearchFields.DATAVERSE_AFFILIATION_ZH));
            dataverse.setDescriptionZh((String) solrDocument.getFieldValue(SearchFields.DESCRIPTION_ZH));
        } else {
            dataverse.setId((Long) solrDocument.getFieldValue(SearchFields.ENTITY_ID));
            dataverse.setName((String) solrDocument.getFieldValue(SearchFields.NAME));
            dataverse.setAffiliation((String) solrDocument.getFieldValue(SearchFields.DATAVERSE_AFFILIATION));
            dataverse.setDescription((String) solrDocument.getFieldValue(SearchFields.DESCRIPTION));
        }
        dataverses.add(dataverse);
    }
    result.setResults(dataverses);
    result.setTotal((int) docs.getNumFound());
    return result;
}

From source file:com.aboutdata.service.bean.SearchServiceImpl.java

/**
 * ? /*from w w w  .j av  a2s .co  m*/
 *
 * @param keyword
 * @param pageable
 * @return
 */
@Override
public Page<PhotosModel> search(String keyword, Pageable pageable) {
    SolrQuery query = new SolrQuery();
    query.setQuery("tags:(" + keyword + ")  OR title:(" + keyword + ")");
    try {
        //?
        query.setStart((pageable.getPageNumber() - 1) * pageable.getPageSize());
        query.setRows(pageable.getPageSize());
        //?
        QueryResponse rsp = solrServer.query(query);
        //?
        SolrDocumentList docs = rsp.getResults();
        List<PhotosModel> models = new ArrayList<PhotosModel>();
        for (SolrDocument solrDocument : docs) {
            String id = solrDocument.getFieldValue("id").toString();
            String title = solrDocument.getFieldValue("title").toString();
            String large = solrDocument.getFieldValue("large").toString();
            String medium = solrDocument.getFieldValue("medium").toString();
            String thumbnail = solrDocument.getFieldValue("thumbnail").toString();
            String source = solrDocument.getFieldValue("source").toString();
            String member_id = solrDocument.getFieldValue("member_id").toString();
            String member_User_name = solrDocument.getFieldValue("member_name").toString();

            //?? ??idusername
            MemberModel member = new MemberModel();
            member.setId(member_id);
            member.setUsername(member_User_name);

            String wallhaven = solrDocument.getFieldValue("wallhaven").toString();
            String create_date = solrDocument.getFieldValue("create_date").toString();
            String modify_date = solrDocument.getFieldValue("modify_date").toString();

            String tags = solrDocument.getFieldValue("tags").toString();

            Set<Tag> tagSet = tagService.getTagsFromString(tags);

            PhotosModel model = new PhotosModel();
            model.setId(id);
            model.setTitle(title);
            model.setLarge(large);
            model.setMedium(medium);
            model.setThumbnail(thumbnail);
            model.setSource(source);

            model.setWallhaven(wallhaven);
            //model.setCreateDate(new Date());
            // model.setModifyDate(new DateTime(modify_date).toDate());

            model.setMember(member);
            //?tag
            List<TagModel> tagList = TagDTO.getTagModelsDTO(tagSet);
            model.setTags(tagList);

            models.add(model);
        }
        Page<PhotosModel> result = new PageImpl<PhotosModel>(models, pageable, docs.getNumFound());
        return result;
    } catch (SolrServerException ex) {
        logger.error("build index error {}", ex);
    }
    return null;
}

From source file:com.bindez.nlp.extract.ngram.corpus.ExtractWord.java

public List<String> query() throws SolrServerException {
    List<String> result = new ArrayList<String>();
    server = new MyanmarCorpusSolrServer().getSolrServer();

    SolrQuery query = new SolrQuery();
    query.setQuery("*:*");
    //query.add("fl","fl:totaltermfreq(content,"+word+")");
    query.setRows(Integer.MAX_VALUE);
    QueryResponse response = server.query(query);
    SolrDocumentList results = response.getResults();
    long numFound = results.getNumFound();
    System.out.println(numFound);
    for (SolrDocument result1 : results) {
        String word = result1.getFieldValue("id").toString();
        result.add(word);/*from w  w w. j av  a  2  s. c o m*/

    }

    return result;

}

From source file:com.buddycloud.channeldirectory.search.rsm.SolrRSMUtils.java

License:Apache License

public static void preprocess(SolrQuery query, RSM rsm) throws IllegalArgumentException {

    String after = rsm.getAfter();
    String before = rsm.getBefore();

    int initialIndex = rsm.getIndex();
    int lastIndex = -1;

    if (after != null) {
        initialIndex = Integer.valueOf(after);
    }/*  ww  w .j av a  2 s . com*/
    if (before != null && !before.isEmpty()) {
        lastIndex = Integer.valueOf(before) - 2;
    }

    if (rsm.getMax() != null) {
        if (before != null) {
            initialIndex = lastIndex - rsm.getMax() + 1;
        } else {
            lastIndex = initialIndex + rsm.getMax() - 1;
        }
    }

    if (lastIndex >= 0) {
        query.setStart(initialIndex);
        query.setRows(lastIndex - initialIndex + 1);
    }

    rsm.setIndex(initialIndex);
    rsm.setFirst(String.valueOf(initialIndex + 1));
    rsm.setLast(String.valueOf(lastIndex + 1));
}

From source file:com.databasepreservation.visualization.utils.SolrUtils.java

public static <T extends Serializable> IndexResult<T> find(SolrClient index, Class<T> classToRetrieve,
        Filter filter, Sorter sorter, Sublist sublist, Facets facets)
        throws GenericException, RequestNotValidException {
    IndexResult<T> ret;/*w  w  w  .jav  a2s . co  m*/
    SolrQuery query = new SolrQuery();
    query.setQuery(parseFilter(filter));
    query.setSorts(parseSorter(sorter));
    query.setStart(sublist.getFirstElementIndex());
    query.setRows(sublist.getMaximumElementCount());
    parseAndConfigureFacets(facets, query);

    try {
        QueryResponse response = index.query(getIndexName(classToRetrieve), query);
        ret = queryResponseToIndexResult(response, classToRetrieve, facets);
    } catch (SolrServerException | IOException
            | org.apache.solr.client.solrj.impl.HttpSolrClient.RemoteSolrException e) {
        String message = e.getMessage();
        String bodytag = "<body>";
        if (message != null && message.contains(bodytag)) {
            message = message.substring(message.indexOf(bodytag) + bodytag.length(),
                    message.indexOf("</body>"));
            message = message.replaceAll("\\<[^>]*?>", "");
        }
        throw new GenericException("Could not query index, message: " + message, e);
    }

    return ret;
}

From source file:com.databasepreservation.visualization.utils.SolrUtils.java

public static <T extends Serializable> IndexResult<T> find(SolrClient index, Class<T> classToRetrieve,
        Filter filter, Sorter sorter, Sublist sublist, Facets facets, RodaUser user, boolean showInactive)
        throws GenericException, RequestNotValidException {
    IndexResult<T> ret;/*from ww w. java  2s  .  c  om*/
    SolrQuery query = new SolrQuery();
    query.setQuery(parseFilter(filter));
    query.setSorts(parseSorter(sorter));
    query.setStart(sublist.getFirstElementIndex());
    query.setRows(sublist.getMaximumElementCount());
    parseAndConfigureFacets(facets, query);
    if (hasPermissionFilters(classToRetrieve)) {
        query.addFilterQuery(getFilterQueries(user, showInactive));
    }

    try {
        QueryResponse response = index.query(getIndexName(classToRetrieve), query);
        ret = queryResponseToIndexResult(response, classToRetrieve, facets);
    } catch (SolrServerException | IOException e) {
        throw new GenericException("Could not query index", e);
    }

    return ret;
}

From source file:com.databasepreservation.visualization.utils.SolrUtils.java

public static <T extends Serializable> IndexResult<T> find(SolrClient index, Class<T> classToRetrieve,
        String tableUUID, Filter filter, Sorter sorter, Sublist sublist, Facets facets)
        throws GenericException, RequestNotValidException {
    IndexResult<T> ret;//from   w  ww .  j  a va  2 s  . co m
    SolrQuery query = new SolrQuery();
    query.setQuery(parseFilter(filter));
    query.setSorts(parseSorter(sorter));
    query.setStart(sublist.getFirstElementIndex());
    query.setRows(sublist.getMaximumElementCount());

    parseAndConfigureFacets(facets, query);

    try {
        QueryResponse response = index.query(getTableCollectionName(tableUUID), query);
        ret = queryResponseToIndexResult(response, classToRetrieve, facets);
    } catch (SolrServerException | IOException e) {
        throw new GenericException("Could not query index", e);
    }

    return ret;
}