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(String q) 

Source Link

Document

Create a new SolrQuery

Usage

From source file:au.org.ala.biocache.dao.TaxonDAOImpl.java

License:Open Source License

private List<FacetField.Count> extractFacet(String queryString, String[] filterQueries, String facetName)
        throws Exception {
    SolrQuery query = new SolrQuery(queryString);
    query.setFacet(true);//from  ww  w.  j  a  v  a  2 s  .co  m
    query.addFacetField(facetName);
    query.setRows(0);
    query.setFacetLimit(200000);
    query.setStart(0);
    query.setFacetMinCount(1);
    query.setFacetSort("index");
    //query.setFacet
    if (filterQueries != null) {
        for (String fq : filterQueries)
            query.addFilterQuery(fq);
    }
    QueryResponse response = server.query(query);
    List<FacetField.Count> fc = response.getFacetField(facetName).getValues();
    if (fc == null) {
        fc = new ArrayList<FacetField.Count>();
    }
    return fc;
}

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);//from   ww w. java  2 s  . c  o m
    q.setFields(SOLR_FIELDS);
    q.setSort(SortClause.asc(SolrEnum.ID.toString()));
    q.setRows(solrReadSize);
    return q;
}

From source file:com.buddycloud.channeldirectory.cli.QueryToSolr.java

License:Apache License

public String exec(String args, Properties configuration) throws Exception {

    SolrServer solrServer = null;/*from   ww  w. j av  a 2 s  .  c om*/

    if (core.equals("posts")) {
        solrServer = SolrServerFactory.createPostCore(configuration);
    } else if (core.equals("channels")) {
        solrServer = SolrServerFactory.createChannelCore(configuration);
    }

    SolrQuery solrQuery = new SolrQuery(q);
    QueryResponse queryResponse = solrServer.query(solrQuery);

    if (agg.equals("count")) {
        Long numFound = queryResponse.getResults().getNumFound();
        return numFound.toString();
    }

    return null;
}

From source file:com.buddycloud.channeldirectory.crawler.node.ActivityHelper.java

License:Apache License

/**
 * @param channelJid/*from   w w  w  .j a  v  a 2 s .c om*/
 * @param properties
 * @return
 */
private static boolean isChannelRegistered(String channelJid, Properties properties) throws Exception {
    SolrServer solrServer = SolrServerFactory.createChannelCore(properties);
    SolrQuery solrQuery = new SolrQuery("jid:" + channelJid);
    QueryResponse queryResponse = solrServer.query(solrQuery);
    return !queryResponse.getResults().isEmpty();
}

From source file:com.buddycloud.channeldirectory.search.handler.common.ChannelQueryHandler.java

License:Apache License

protected List<ChannelData> retrieveFromSolr(List<ChannelData> recommendedChannelsData) throws Exception {
    SolrServer solrServer = SolrServerFactory.createChannelCore(getProperties());
    List<ChannelData> channelsData = new LinkedList<ChannelData>();
    for (ChannelData recommendedChannelData : recommendedChannelsData) {
        SolrQuery solrQuery = new SolrQuery("jid:" + recommendedChannelData.getId());
        QueryResponse queryResponse = solrServer.query(solrQuery);
        ChannelData channelData = convertResponse(queryResponse);
        if (channelData == null) {
            channelData = retrieveFromPubSub(recommendedChannelData.getId());
        }//from  w  w  w.  j ava  2  s . co  m
        if (channelData == null) {
            channelData = recommendedChannelData;
        }
        channelsData.add(channelData);
    }
    return channelsData;
}

From source file:com.buddycloud.channeldirectory.search.handler.content.ContentQueryHandler.java

License:Apache License

private List<PostData> findObjectsByContent(String search, RSM rsm)
        throws MalformedURLException, SolrServerException {
    SolrServer solrServer = SolrServerFactory.createPostCore(getProperties());
    SolrQuery solrQuery = new SolrQuery(search);
    solrQuery.setSortField("updated", ORDER.desc);

    SolrRSMUtils.preprocess(solrQuery, rsm);
    QueryResponse queryResponse = solrServer.query(solrQuery);
    SolrRSMUtils.postprocess(queryResponse, rsm);

    return convertResponse(queryResponse);
}

From source file:com.buddycloud.channeldirectory.search.handler.metadata.MetadataQueryHandler.java

License:Apache License

private List<ChannelData> findObjectsByMetadata(RSM rsm, String search)
        throws MalformedURLException, SolrServerException {
    SolrServer solrServer = SolrServerFactory.createChannelCore(getProperties());
    SolrQuery solrQuery = new SolrQuery(search);

    SolrRSMUtils.preprocess(solrQuery, rsm);
    QueryResponse queryResponse = solrServer.query(solrQuery);
    SolrRSMUtils.postprocess(queryResponse, rsm);

    return convertResponse(queryResponse);
}

From source file:com.buddycloud.channeldirectory.search.handler.nearby.NearbyQueryHandler.java

License:Apache License

private List<ChannelData> findNearbyObjects(double lat, double lng, RSM rsm)
        throws MalformedURLException, SolrServerException {
    SolrServer solrServer = SolrServerFactory.createChannelCore(getProperties());
    SolrQuery solrQuery = new SolrQuery("*:*");
    solrQuery.set("fq", "{!geofilt}");
    solrQuery.set("sfield", "geoloc");
    solrQuery.set("pt", lat + "," + lng);
    solrQuery.set("d", RADIUS_IN_KM);

    solrQuery.addSortField("geodist()", ORDER.asc);

    SolrRSMUtils.preprocess(solrQuery, rsm);
    QueryResponse queryResponse = solrServer.query(solrQuery);
    SolrRSMUtils.postprocess(queryResponse, rsm);

    return convertResponse(queryResponse);
}

From source file:com.cloudera.cdk.morphline.solr.AbstractSolrMorphlineTest.java

License:Apache License

protected int queryResultSetSize(String query) {
    //    return collector.getRecords().size();
    try {/*from  ww  w  . ja v a2 s . co m*/
        testServer.commitTransaction();
        solrServer.commit(false, true, true);
        QueryResponse rsp = solrServer.query(new SolrQuery(query).setRows(Integer.MAX_VALUE));
        LOGGER.debug("rsp: {}", rsp);
        int i = 0;
        for (SolrDocument doc : rsp.getResults()) {
            LOGGER.debug("rspDoc #{}: {}", i++, doc);
        }
        int size = rsp.getResults().size();
        return size;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:com.cloudera.cdk.morphline.solr.AbstractSolrMorphlineTest.java

License:Apache License

protected void testDocumentContent(HashMap<String, ExpectedResult> expectedResultMap) throws Exception {
    QueryResponse rsp = solrServer.query(new SolrQuery("*:*").setRows(Integer.MAX_VALUE));
    // Check that every expected field/values shows up in the actual query
    for (Entry<String, ExpectedResult> current : expectedResultMap.entrySet()) {
        String field = current.getKey();
        for (String expectedFieldValue : current.getValue().getFieldValues()) {
            ExpectedResult.CompareType compareType = current.getValue().getCompareType();
            boolean foundField = false;

            for (SolrDocument doc : rsp.getResults()) {
                Collection<Object> actualFieldValues = doc.getFieldValues(field);
                if (compareType == ExpectedResult.CompareType.equals) {
                    if (actualFieldValues != null && actualFieldValues.contains(expectedFieldValue)) {
                        foundField = true;
                        break;
                    }/*from   w w w  .  j  a  v  a2 s  .  c  o m*/
                } else {
                    for (Iterator<Object> it = actualFieldValues.iterator(); it.hasNext();) {
                        String actualValue = it.next().toString(); // test only supports string comparison
                        if (actualFieldValues != null && actualValue.contains(expectedFieldValue)) {
                            foundField = true;
                            break;
                        }
                    }
                }
            }
            assert (foundField); // didn't find expected field/value in query
        }
    }
}