本文整理汇总了Java中org.apache.solr.handler.component.ShardResponse类的典型用法代码示例。如果您正苦于以下问题:Java ShardResponse类的具体用法?Java ShardResponse怎么用?Java ShardResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ShardResponse类属于org.apache.solr.handler.component包,在下文中一共展示了ShardResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: requestUpdates
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private boolean requestUpdates(ShardResponse srsp, List<Long> toRequest) {
String replica = srsp.getShardRequest().shards[0];
log.info(msg() + "Requesting updates from " + replica + "n=" + toRequest.size() + " versions=" + toRequest);
// reuse our original request object
ShardRequest sreq = srsp.getShardRequest();
sreq.purpose = 0;
sreq.params = new ModifiableSolrParams();
sreq.params.set("qt", "/get");
sreq.params.set("distrib", false);
sreq.params.set("getUpdates", StrUtils.join(toRequest, ','));
sreq.params.set("onlyIfActive", onlyIfActive);
sreq.responses.clear(); // needs to be zeroed for correct correlation to occur
shardHandler.submit(sreq, sreq.shards[0], sreq.params);
return true;
}
示例2: process
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void process(ResponseBuilder rb, ShardRequest shardRequest) {
boolean returnScores = (rb.getFieldFlags() & SolrIndexSearcher.GET_SCORES) != 0;
ShardResponse srsp = shardRequest.responses.get(0);
SolrDocumentList docs = (SolrDocumentList)srsp.getSolrResponse().getResponse().get("response");
String uniqueIdFieldName = rb.req.getSchema().getUniqueKeyField().getName();
for (SolrDocument doc : docs) {
Object id = doc.getFieldValue(uniqueIdFieldName).toString();
ShardDoc shardDoc = rb.resultIds.get(id);
FieldDoc fieldDoc = (FieldDoc) shardDoc;
if (shardDoc != null) {
if (returnScores && !Float.isNaN(fieldDoc.score)) {
doc.setField("score", fieldDoc.score);
}
rb.retrievedDocuments.put(id, doc);
}
}
}
示例3: collectShardResponses
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void collectShardResponses(NamedList results, boolean abortOnError,
String msgOnError,
ShardHandler shardHandler) {
ShardResponse srsp;
do {
srsp = shardHandler.takeCompletedOrError();
if (srsp != null) {
processResponse(results, srsp);
Throwable exception = srsp.getException();
if (abortOnError && exception != null) {
// drain pending requests
while (srsp != null) {
srsp = shardHandler.takeCompletedOrError();
}
throw new SolrException(ErrorCode.SERVER_ERROR, msgOnError, exception);
}
}
} while (srsp != null);
}
示例4: mockShardHandlerForCreateJob
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
protected List<SubmitCapture> mockShardHandlerForCreateJob(
Integer numberOfSlices, Integer numberOfReplica) {
List<SubmitCapture> submitCaptures = new ArrayList<>();
for (int i = 0; i < (numberOfSlices * numberOfReplica); i++) {
SubmitCapture submitCapture = new SubmitCapture();
shardHandlerMock.submit(capture(submitCapture.shardRequestCapture),
capture(submitCapture.nodeUrlsWithoutProtocolPartCapture),
capture(submitCapture.params));
expectLastCall();
submitCaptures.add(submitCapture);
ShardResponse shardResponseWithoutException = new ShardResponse();
shardResponseWithoutException.setSolrResponse(new QueryResponse());
expect(shardHandlerMock.takeCompletedOrError()).andReturn(
shardResponseWithoutException);
}
expect(shardHandlerMock.takeCompletedOrError()).andReturn(null);
return submitCaptures;
}
示例5: requestUpdates
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private boolean requestUpdates(ShardResponse srsp, List<Long> toRequest) {
String replica = srsp.getShardRequest().shards[0];
log.info(msg() + "Requesting updates from " + replica + "n=" + toRequest.size() + " versions=" + toRequest);
// reuse our original request object
ShardRequest sreq = srsp.getShardRequest();
sreq.purpose = 0;
sreq.params = new ModifiableSolrParams();
sreq.params.set("qt","/get");
sreq.params.set("distrib",false);
sreq.params.set("getUpdates", StrUtils.join(toRequest, ','));
sreq.responses.clear(); // needs to be zeroed for correct correlation to occur
shardHandler.submit(sreq, sreq.shards[0], sreq.params);
return true;
}
示例6: processResponse
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void processResponse(NamedList results, ShardResponse srsp) {
Throwable e = srsp.getException();
if (e != null) {
log.error("Error from shard: " + srsp.getShard(), e);
SimpleOrderedMap failure = (SimpleOrderedMap) results.get("failure");
if (failure == null) {
failure = new SimpleOrderedMap();
results.add("failure", failure);
}
failure.add(srsp.getNodeName(), e.getClass().getName() + ":" + e.getMessage());
} else {
SimpleOrderedMap success = (SimpleOrderedMap) results.get("success");
if (success == null) {
success = new SimpleOrderedMap();
results.add("success", success);
}
success.add(srsp.getNodeName(), srsp.getSolrResponse().getResponse());
}
}
示例7: mockShardHandlerForCreateJob
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
protected List<SubmitCapture> mockShardHandlerForCreateJob(
Integer numberOfSlices, Integer numberOfReplica) {
List<SubmitCapture> submitCaptures = new ArrayList<SubmitCapture>();
for (int i = 0; i < (numberOfSlices * numberOfReplica); i++) {
SubmitCapture submitCapture = new SubmitCapture();
shardHandlerMock.submit(capture(submitCapture.shardRequestCapture),
capture(submitCapture.nodeUrlsWithoutProtocolPartCapture),
capture(submitCapture.params));
expectLastCall();
submitCaptures.add(submitCapture);
ShardResponse shardResponseWithoutException = new ShardResponse();
shardResponseWithoutException.setSolrResponse(new QueryResponse());
expect(shardHandlerMock.takeCompletedOrError()).andReturn(
shardResponseWithoutException);
}
expect(shardHandlerMock.takeCompletedOrError()).andReturn(null);
return submitCaptures;
}
示例8: handleResponses
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void handleResponses(ResponseBuilder rb, ShardRequest req) {
System.out.println("===== HANDLE RESPONSES =====");
System.out.println("purpose=" + req.purpose);
System.out.println("Shards: " + (req.shards != null ? String.join(" ", req.shards) : "(null)"));
if ((req.purpose & ShardRequest.PURPOSE_GET_FIELDS) > 0) {
Map<String, Long> numFounds = (Map<String, Long>)rb.req.getContext().get(COMPONENT_NAME + "numFounds");
Set<Object> joinIds = (Set<Object>)rb.req.getContext().get(COMPONENT_NAME + "joinIds");
for (ShardResponse rsp : req.responses) {
NamedList response = rsp.getSolrResponse().getResponse();
SolrDocumentList results = (SolrDocumentList)response.get("response");
numFounds.put(rsp.getShard(), results.getNumFound());
NamedList counts = (NamedList)response.get("facet_counts");
if (counts != null) {
NamedList fields = (NamedList)counts.get("facet_fields");
NamedList values = (NamedList)fields.get(joinField);
for (int i = 0; i < values.size(); ++i) {
joinIds.add(values.getName(i));
}
}
}
}
}
示例9: collectShardResponses
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void collectShardResponses(NamedList results, boolean abortOnError, String msgOnError) {
ShardResponse srsp;
do {
srsp = shardHandler.takeCompletedOrError();
if (srsp != null) {
processResponse(results, srsp);
Throwable exception = srsp.getException();
if (abortOnError && exception != null) {
// drain pending requests
while (srsp != null) {
srsp = shardHandler.takeCompletedOrError();
}
throw new SolrException(ErrorCode.SERVER_ERROR, msgOnError, exception);
}
}
} while (srsp != null);
}
示例10: collectionCmd
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void collectionCmd(ClusterState clusterState, ZkNodeProps message, ModifiableSolrParams params, NamedList results, String stateMatcher) {
log.info("Executing Collection Cmd : " + params);
String collectionName = message.getStr("name");
DocCollection coll = clusterState.getCollection(collectionName);
for (Map.Entry<String,Slice> entry : coll.getSlicesMap().entrySet()) {
Slice slice = entry.getValue();
sliceCmd(clusterState, params, stateMatcher, slice);
}
ShardResponse srsp;
do {
srsp = shardHandler.takeCompletedOrError();
if (srsp != null) {
processResponse(results, srsp);
}
} while (srsp != null);
}
示例11: handleResponse
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private boolean handleResponse(ShardResponse srsp) {
NamedList<Object> response = srsp.getSolrResponse().getResponse();
// TODO: why does this return null sometimes?
if (response == null) {
return false;
}
Boolean success = (Boolean) response.get("sync");
if (success == null) {
success = false;
}
return success;
}
示例12: processResponses
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void processResponses(NamedList results, ShardHandler shardHandler) {
ShardResponse srsp;
do {
srsp = shardHandler.takeCompletedOrError();
if (srsp != null) {
processResponse(results, srsp);
}
} while (srsp != null);
}
示例13: processResponse
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
private void processResponse(NamedList results, ShardResponse srsp) {
Throwable e = srsp.getException();
String nodeName = srsp.getNodeName();
SolrResponse solrResponse = srsp.getSolrResponse();
String shard = srsp.getShard();
processResponse(results, e, nodeName, solrResponse, shard);
}
示例14: merge
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
public void merge(ResponseBuilder rb, ShardRequest shardRequest) {
int count = 0;
NamedList merged = new NamedList();
for(ShardResponse shardResponse : shardRequest.responses) {
NamedList response = shardResponse.getSolrResponse().getResponse();
NamedList analytics = (NamedList)response.get("analytics");
Integer c = (Integer)analytics.get("mycount");
count += c.intValue();
}
merged.add("mycount", count);
rb.rsp.add("analytics", merged);
}
示例15: getShardHandler
import org.apache.solr.handler.component.ShardResponse; //导入依赖的package包/类
@Override
public ShardHandler getShardHandler() {
return new ShardHandler() {
@Override
public void checkDistributed(ResponseBuilder rb) {}
@Override
public void submit(ShardRequest sreq, String shard,
ModifiableSolrParams params) {}
@Override
public ShardResponse takeCompletedIncludingErrors() {
return null;
}
@Override
public ShardResponse takeCompletedOrError() {
return null;
}
@Override
public void cancelAll() {}
@Override
public ShardHandlerFactory getShardHandlerFactory() {
return MockShardHandlerFactory.this;
}
};
}