List of usage examples for org.apache.solr.client.solrj SolrQuery set
public ModifiableSolrParams set(String name, String... val)
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); } }