当前位置: 首页>>代码示例>>Java>>正文


Java ShardResponse类代码示例

本文整理汇总了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;
}
 
开发者ID:europeana,项目名称:search,代码行数:21,代码来源:PeerSync.java

示例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);
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:23,代码来源:StoredFieldsShardResponseProcessor.java

示例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);
}
 
开发者ID:europeana,项目名称:search,代码行数:20,代码来源:OverseerCollectionProcessor.java

示例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;
}
 
开发者ID:europeana,项目名称:search,代码行数:19,代码来源:OverseerCollectionProcessorTest.java

示例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;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:20,代码来源:PeerSync.java

示例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());
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:25,代码来源:OverseerCollectionProcessor.java

示例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;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:19,代码来源:OverseerCollectionProcessorTest.java

示例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));
				}
			}
		}
	}
}
 
开发者ID:flaxsearch,项目名称:BioSolr,代码行数:25,代码来源:NumFoundSearchComponent.java

示例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);
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:18,代码来源:OverseerCollectionProcessor.java

示例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);

}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:21,代码来源:OverseerCollectionProcessor.java

示例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;
}
 
开发者ID:europeana,项目名称:search,代码行数:15,代码来源:SyncStrategy.java

示例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);
}
 
开发者ID:europeana,项目名称:search,代码行数:10,代码来源:OverseerCollectionProcessor.java

示例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);
}
 
开发者ID:europeana,项目名称:search,代码行数:9,代码来源:OverseerCollectionProcessor.java

示例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);
}
 
开发者ID:europeana,项目名称:search,代码行数:15,代码来源:TestAnalyticsQParserPlugin.java

示例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;
    }
  };
}
 
开发者ID:europeana,项目名称:search,代码行数:30,代码来源:MockShardHandlerFactory.java


注:本文中的org.apache.solr.handler.component.ShardResponse类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。