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

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

Introduction

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

Prototype

public ModifiableSolrParams set(String name, String... val) 

Source Link

Document

Replace any existing parameter with the given name.

Usage

From source file:fr.gael.dhus.service.SystemService.java

License:Open Source License

/**
 * Performs Solr restoration.// w w  w.  j av a2s  . com
 *
 * @param properties properties containing arguments to execute the restoration.
 */
private static void restoreSolr5Index(Properties properties) throws IOException, SolrServerException {
    String solrHome = properties.getProperty("dhus.solr.home");
    String coreName = properties.getProperty("dhus.solr.core.name");
    final String name = properties.getProperty("dhus.solr.backup.name");
    final String location = properties.getProperty("dhus.solr.backup.location");

    if (solrHome == null || coreName == null || name == null || location == null) {
        throw new UnsupportedOperationException();
    }

    System.setProperty("solr.solr.home", solrHome);
    CoreContainer core = new CoreContainer(solrHome);
    EmbeddedSolrServer server = new EmbeddedSolrServer(core, coreName);
    try {
        server.getCoreContainer().load();

        SolrQuery query = new SolrQuery();
        query.setRequestHandler("/replication");
        query.set("command", "restore");
        query.set("name", name);
        query.set("location", location);

        server.query(query);
        LOGGER.info("SolR indexes restored.");
    } finally {
        server.close();
    }

}

From source file:io.logspace.hq.core.solr.AbstractSolrConfigService.java

License:Open Source License

protected SolrDocument realTimeGet(String id) throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setRequestHandler("/get");
    solrQuery.set("id", id);

    QueryResponse response = this.solrClient.query(solrQuery);
    return (SolrDocument) response.getResponse().get("doc");
}

From source file:io.logspace.hq.core.solr.agent.SolrAgentService.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from   ww  w  . ja v a  2 s . c  o m
public AgentActivities getAgentActivities(int start, int count, int durationSeconds, int steps, String sort) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setRows(0);

    Date endDate = new Date();
    Date startDate = new Date(endDate.getTime() - SECONDS.toMillis(durationSeconds));

    solrQuery.addFilterQuery(getTimestampRangeQuery(startDate, endDate));

    TermsFacet agentFacet = new TermsFacet(FIELD_GLOBAL_AGENT_ID, FIELD_GLOBAL_AGENT_ID);
    agentFacet.setOffset(start);
    agentFacet.setLimit(count);
    agentFacet.setMincount(0);
    agentFacet.setNumBuckets(true);
    agentFacet.setSort(sort);
    agentFacet.addSubFacet(new RangeFacet(FIELD_TIMESTAMP, FIELD_TIMESTAMP, startDate, endDate, GapUnit.SECONDS,
            durationSeconds / steps));

    solrQuery.set("json.facet", FacetList.toJsonString(agentFacet));

    try {
        AgentActivities result = new AgentActivities();

        QueryResponse response = this.solrClient.query(solrQuery, METHOD.POST);

        Buckets agentBuckets = Buckets.fromResponse(response, FIELD_GLOBAL_AGENT_ID);
        result.setOffset(start);
        result.setTotalCount(agentBuckets.getNumBuckets());

        int maxHistoryValue = 0;

        for (NamedList<Object> eachAgentBucket : agentBuckets) {
            AgentActivity agentActivity = new AgentActivity();

            agentActivity.setGlobalAgentId((String) eachAgentBucket.get(VALUE_FACET_NAME));
            agentActivity.setEventCount(Buckets.getInt(eachAgentBucket, COUNT_FACET_NAME));

            int[] history = new int[steps];

            Buckets historyBuckets = Buckets
                    .fromFacet((NamedList<Object>) eachAgentBucket.get(FIELD_TIMESTAMP));
            for (int i = 0; i < Math.min(historyBuckets.getBucketCount(), history.length); i++) {
                NamedList<Object> historyBucket = historyBuckets.getBucket(i);

                int historyValue = Buckets.getInt(historyBucket, COUNT_FACET_NAME);
                history[i] = historyValue;
                maxHistoryValue = Math.max(maxHistoryValue, historyValue);
            }
            agentActivity.setHistory(history);

            result.add(agentActivity);
        }

        result.setMaxHistoryValue(maxHistoryValue);

        return result;
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve Agent activities.", e);
    }
}

From source file:io.logspace.hq.core.solr.capabilities.SolrCapabilitiesService.java

License:Open Source License

@Override
public AgentControllerCapabilities getCapabilities(String controllerId) {
    this.logger.debug("Retrieving agent controller capabilities for controller with ID '{}'.", controllerId);

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setRequestHandler("/get");
    solrQuery.set("id", this.getCapabilitiesId(controllerId));

    try {//w ww .  j av  a 2s .c om
        QueryResponse queryResponse = this.solrClient.query(solrQuery);
        SolrDocument solrDocument = (SolrDocument) queryResponse.getResponse().get("doc");
        if (solrDocument == null) {
            return null;
        }

        String content = SolrDocumentHelper.getString(solrDocument, FIELD_CONTENT);
        return AgentControllerCapabilitiesJsonDeserializer.fromJson(content);
    } catch (SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve agent controller capabilities.", e);
    }
}

From source file:io.logspace.hq.core.solr.event.SolrEventService.java

License:Open Source License

@Override
public Object[] getTimeSeries(TimeSeriesDefinition dataDefinition) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setRows(0);/* www .j  av a2 s. c  o  m*/

    solrQuery.addFilterQuery(FIELD_GLOBAL_AGENT_ID + ":" + escapeSolr(dataDefinition.getGlobalAgentId()));
    solrQuery.addFilterQuery(getTimestampRangeQuery(dataDefinition.getTimeWindow()));
    solrQuery.addFilterQuery(dataDefinition.getPropertyId() + ":*");

    for (String eachFilterQuery : this.createFilterQueries(dataDefinition.getFilter())) {
        solrQuery.addFilterQuery(eachFilterQuery);
    }

    solrQuery.set("json.facet", this.createTimeSeriesFacets(dataDefinition));

    try {
        QueryResponse response = this.solrClient.query(solrQuery, METHOD.POST);

        List<Object> values = new ArrayList<Object>();

        Buckets buckets = Buckets.fromResponse(response, FIELD_TIMESTAMP);
        for (NamedList<Object> eachBucket : buckets) {
            if (dataDefinition.getAggregate() == Aggregate.count) {
                values.add(eachBucket.get(COUNT_FACET_NAME));
            } else {
                values.add(eachBucket.get(AGGREGATION_FACET_NAME));
            }
        }

        return values.toArray();
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve data.", e);
    }
}

From source file:io.logspace.hq.core.solr.event.SolrEventService.java

License:Open Source License

private EventPage retrieve(EventFilter eventFilter, int count, String cursorMark, String sort) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setRows(count);//from   w  w w  .j a v a 2s  .c  o  m
    solrQuery.set(CURSOR_MARK_PARAM, cursorMark);
    solrQuery.set(SORT, sort);

    for (EventFilterElement eachElement : eventFilter) {
        solrQuery.addFilterQuery(this.createFilterQuery(eachElement));
    }

    try {
        EventPage result = new EventPage();

        QueryResponse response = this.solrClient.query(solrQuery);
        for (SolrDocument eachSolrDocument : response.getResults()) {
            result.addEvent(this.createEvent(eachSolrDocument));
        }

        result.setNextCursorMark(response.getNextCursorMark());
        result.setTotalCount(response.getResults().getNumFound());

        return result;
    } catch (SolrServerException | IOException | SolrException e) {
        String message = "Failed to retrieve events.";
        this.logger.error(message, e);
        throw EventStoreException.retrieveFailed(message, e);
    }
}

From source file:io.logspace.hq.core.solr.event.SolrEventStreamService.java

License:Open Source License

@Override
public void stream(EventFilter eventFilter, int count, int offset, EventStreamer eventStreamer) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setStart(offset);/*from  w  w w .j  av  a 2s . c om*/
    solrQuery.setRows(count);
    solrQuery.set(SORT, SORT_CRON_ASC);

    for (EventFilterElement eachElement : eventFilter) {
        solrQuery.addFilterQuery(this.createFilterQuery(eachElement));
    }

    try {
        this.solrClient.queryAndStreamResponse(solrQuery, new EventStreamCallback(eventStreamer));
    } catch (SolrServerException | IOException e) {
        String message = "Failed to stream events.";
        this.logger.error(message, e);
        throw EventStoreException.retrieveFailed(message, e);
    }
}

From source file:io.logspace.hq.core.solr.orders.SolrOrderService.java

License:Open Source License

@Override
public Order getOrder(String controllerId) {
    this.logger.debug("Retrieving order for controller with ID {}.", controllerId);

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setRequestHandler("/get");
    solrQuery.set("id", this.getOrderId(controllerId));

    try {//  www  .j  a  v  a2 s  .c o m
        QueryResponse queryResponse = this.solrClient.query(solrQuery);
        SolrDocument solrDocument = (SolrDocument) queryResponse.getResponse().get("doc");
        if (solrDocument == null) {
            return null;
        }

        Order result = new Order();
        result.setId(getString(solrDocument, FIELD_ID));
        result.setContent(getString(solrDocument, FIELD_CONTENT));
        result.setLastModified(getDate(solrDocument, FIELD_TIMESTAMP));
        return result;
    } catch (SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve order.", e);
    }
}

From source file:io.logspace.hq.solr.SolrEventService.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from w  w w  .  j  a  v a  2 s .  com*/
public AgentActivities getAgentActivities(int start, int count, int durationSeconds, int steps, String sort) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setRows(0);

    Date endDate = new Date();
    Date startDate = new Date(endDate.getTime() - SECONDS.toMillis(durationSeconds));

    solrQuery.addFilterQuery(this.getTimestampRangeQuery(startDate, endDate));

    TermsFacet agentFacet = new TermsFacet(FIELD_GLOBAL_AGENT_ID, FIELD_GLOBAL_AGENT_ID);
    agentFacet.setOffset(start);
    agentFacet.setLimit(count);
    agentFacet.setMincount(0);
    agentFacet.setNumBuckets(true);
    agentFacet.setSort(sort);
    agentFacet.addSubFacet(new RangeFacet(FIELD_TIMESTAMP, FIELD_TIMESTAMP, startDate, endDate, GapUnit.SECONDS,
            durationSeconds / steps));

    solrQuery.set("json.facet", FacetList.toJsonString(agentFacet));

    try {
        AgentActivities result = new AgentActivities();

        QueryResponse response = this.solrClient.query(solrQuery, METHOD.POST);

        Buckets agentBuckets = Buckets.fromResponse(response, FIELD_GLOBAL_AGENT_ID);
        result.setOffset(start);
        result.setTotalCount(agentBuckets.getNumBuckets());

        int maxHistoryValue = 0;

        for (NamedList<Object> eachAgentBucket : agentBuckets) {
            AgentActivity agentActivity = new AgentActivity();

            agentActivity.setGlobalAgentId((String) eachAgentBucket.get(VALUE_FACET_NAME));
            agentActivity.setEventCount(Buckets.getInt(eachAgentBucket, COUNT_FACET_NAME));

            int[] history = new int[steps];

            Buckets historyBuckets = Buckets
                    .fromFacet((NamedList<Object>) eachAgentBucket.get(FIELD_TIMESTAMP));
            for (int i = 0; i < Math.min(historyBuckets.getBucketCount(), history.length); i++) {
                NamedList<Object> historyBucket = historyBuckets.getBucket(i);

                int historyValue = Buckets.getInt(historyBucket, COUNT_FACET_NAME);
                history[i] = historyValue;
                maxHistoryValue = Math.max(maxHistoryValue, historyValue);
            }
            agentActivity.setHistory(history);

            result.add(agentActivity);
        }

        result.setMaxHistoryValue(maxHistoryValue);

        return result;
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve Agent activities.", e);
    }
}

From source file:io.logspace.hq.solr.SolrEventService.java

License:Open Source License

@Override
public Object[] getTimeSeries(TimeSeriesDefinition dataDefinition) {
    SolrQuery solrQuery = new SolrQuery(ALL_DOCS_QUERY);
    solrQuery.setRows(0);/*from   w w  w  .  ja  va2 s.  co m*/

    solrQuery.addFilterQuery(FIELD_GLOBAL_AGENT_ID + ":" + escapeSolr(dataDefinition.getGlobalAgentId()));
    solrQuery.addFilterQuery(this.getTimestampRangeQuery(dataDefinition.getTimeWindow()));
    solrQuery.addFilterQuery(dataDefinition.getPropertyId() + ":*");
    solrQuery.set("json.facet", this.createTimeSeriesFacets(dataDefinition));

    try {
        QueryResponse response = this.solrClient.query(solrQuery, METHOD.POST);

        List<Object> values = new ArrayList<Object>();

        Buckets buckets = Buckets.fromResponse(response, FIELD_TIMESTAMP);
        for (NamedList<Object> eachBucket : buckets) {
            if (dataDefinition.getAggregate() == Aggregate.count) {
                values.add(eachBucket.get(COUNT_FACET_NAME));
            } else {
                values.add(eachBucket.get(AGGREGATION_FACET_NAME));
            }
        }

        return values.toArray();
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException("Could not retrieve data.", e);
    }
}