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


Java UpdateRequestProcessorChain.createProcessor方法代码示例

本文整理汇总了Java中org.apache.solr.update.processor.UpdateRequestProcessorChain.createProcessor方法的典型用法代码示例。如果您正苦于以下问题:Java UpdateRequestProcessorChain.createProcessor方法的具体用法?Java UpdateRequestProcessorChain.createProcessor怎么用?Java UpdateRequestProcessorChain.createProcessor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.solr.update.processor.UpdateRequestProcessorChain的用法示例。


在下文中一共展示了UpdateRequestProcessorChain.createProcessor方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleRequestBody

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
@Override
@SuppressWarnings("PMD.SignatureDeclareThrowsException")
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
    formatResponseAsJson(req);

    if (req.getContentStreams() == null) {
        LOGGER.warn("no content stream");
        rsp.add("error", "No content stream");
        return;
    }

    boolean commit = Boolean.parseBoolean(req.getParams().get("commit", "true"));

    InputStream stream = req.getContentStreams().iterator().next().getStream();
    stream = detectGzip(stream);

    MetricTimeSeriesConverter converter = new MetricTimeSeriesConverter();

    UpdateRequestProcessorChain processorChain = req.getCore().getUpdateProcessorChain(req.getParams());
    UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
    try {
        for (MetricTimeSeries series : formatParser.parse(stream)) {
            SolrInputDocument document = new SolrInputDocument();
            converter.to(series).getFields().forEach(document::addField);
            storeDocument(document, processor, req);
        }

        if (commit) {
            LOGGER.debug("Committing transaction...");
            processor.processCommit(new CommitUpdateCommand(req, false));
            LOGGER.debug("Committed transaction");
        } else {
            LOGGER.debug("Only adding documents.");
        }
    } finally {
        processor.finish();
    }
}
 
开发者ID:ChronixDB,项目名称:chronix.server,代码行数:39,代码来源:AbstractIngestionHandler.java

示例2: handleRequestBody

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
  SolrParams params = req.getParams();
  UpdateRequestProcessorChain processorChain =
          req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_CHAIN));

  UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);

  try {
    ContentStreamLoader documentLoader = newLoader(req, processor);


    Iterable<ContentStream> streams = req.getContentStreams();
    if (streams == null) {
      if (!RequestHandlerUtils.handleCommit(req, processor, params, false) && !RequestHandlerUtils.handleRollback(req, processor, params, false)) {
        throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "missing content stream");
      }
    } else {

      for (ContentStream stream : streams) {
        documentLoader.load(req, rsp, stream, processor);
      }

      // Perhaps commit from the parameters
      RequestHandlerUtils.handleCommit(req, processor, params, false);
      RequestHandlerUtils.handleRollback(req, processor, params, false);
    }
  } finally {
    // finish the request
    processor.finish();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:33,代码来源:ContentStreamHandlerBase.java

示例3: processAdd

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
/**
 * Runs a document through the specified chain, and returns the final 
 * document used when the chain is completed (NOTE: some chains may 
 * modify the document in place
 */
SolrInputDocument processAdd(final String chain, 
                             final SolrInputDocument docIn) 
  throws IOException {

  SolrCore core = h.getCore();
  UpdateRequestProcessorChain pc = core.getUpdateProcessingChain(chain);
  assertNotNull("No Chain named: " + chain, pc);

  SolrQueryResponse rsp = new SolrQueryResponse();

  SolrQueryRequest req = new LocalSolrQueryRequest
    (core, new ModifiableSolrParams());
  try {
    SolrRequestInfo.setRequestInfo(new SolrRequestInfo(req,rsp));
    AddUpdateCommand cmd = new AddUpdateCommand(req);
    cmd.solrDoc = docIn;

    UpdateRequestProcessor processor = pc.createProcessor(req, rsp);
    processor.processAdd(cmd);

    return cmd.solrDoc;
  } finally {
    SolrRequestInfo.clearRequestInfo();
    req.close();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:32,代码来源:DefaultValueUpdateProcessorTest.java

示例4: handleRequestBody

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
	// TODO Auto-generated method stub
	SolrParams params = req.getParams();

	String recordUrl = params.get("url");
	String searchLogDocId = params.get("searchLogDocId");
	String clickLogDocId = generateClickLogDocId(recordUrl, searchLogDocId);
	String collectionName = params.get("collectionName");
	String displayUrl = params.toString();

	SolrInputDocument doc = new SolrInputDocument();
	doc.setField(StatsConstants.INDEX_FIELD_ID, clickLogDocId);
	doc.setField(StatsConstants.INDEX_FIELD_COLLECTION_NAME, collectionName);
	doc.setField(StatsConstants.INDEX_FIELD_SEARCH_LOG_DOC_ID, searchLogDocId);
	doc.setField(StatsConstants.INDEX_FIELD_RECORD_URL, recordUrl);
	doc.setField(StatsConstants.INDEX_FIELD_DISPLAY_URL, displayUrl);
	doc.setField(StatsConstants.INDEX_FIELD_CLICK_DATE, new Date());

	UpdateRequestProcessorChain processorChain = req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_CHAIN));

	UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
	try {
		AddUpdateCommand addCmd = new AddUpdateCommand(req);
		addCmd.commitWithin = params.getInt(UpdateParams.COMMIT_WITHIN, -1);
		addCmd.overwrite = params.getBool(UpdateParams.OVERWRITE, true);
		addCmd.solrDoc = doc;
		processor.processAdd(addCmd);
		// Perhaps commit from the parameters
		RequestHandlerUtils.handleCommit(req, processor, params, false);
		RequestHandlerUtils.handleRollback(req, processor, params, false);

	} finally {
		// finish the request
		processor.finish();
	}
}
 
开发者ID:BassJel,项目名称:Jouve-Project,代码行数:38,代码来源:ComputeClickRequestHandler.java

示例5: createIndex2

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
void createIndex2(int nDocs, String... fields) throws IOException {
  Set<String> fieldSet = new HashSet<>(Arrays.asList(fields));

  SolrQueryRequest req = lrf.makeRequest();
  SolrQueryResponse rsp = new SolrQueryResponse();
  UpdateRequestProcessorChain processorChain = req.getCore().getUpdateProcessingChain(null);
  UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);

  boolean foomany_s = fieldSet.contains("foomany_s");
  boolean foo1_s = fieldSet.contains("foo1_s");
  boolean foo2_s = fieldSet.contains("foo2_s");
  boolean foo4_s = fieldSet.contains("foo4_s");
  boolean foo8_s = fieldSet.contains("foo8_s");
  boolean t10_100_ws = fieldSet.contains("t10_100_ws");

  
  for (int i=0; i<nDocs; i++) {
    SolrInputDocument doc = new SolrInputDocument();
    doc.addField("id",Float.toString(i));
    if (foomany_s) {
      doc.addField("foomany_s",t(r.nextInt(nDocs*10)));
    }
    if (foo1_s) {
      doc.addField("foo1_s",t(0));
    }
    if (foo2_s) {
      doc.addField("foo2_s",r.nextInt(2));
    }
    if (foo4_s) {
      doc.addField("foo4_s",r.nextInt(4));
    }
    if (foo8_s) {
      doc.addField("foo8_s",r.nextInt(8));
    }
    if (t10_100_ws) {
      StringBuilder sb = new StringBuilder(9*100);
      for (int j=0; j<100; j++) {
        sb.append(' ');
        sb.append(t(r.nextInt(10)));
      }
      doc.addField("t10_100_ws", sb.toString());
    }

    AddUpdateCommand cmd = new AddUpdateCommand(req);
    cmd.solrDoc = doc;
    processor.processAdd(cmd);
  }
  processor.finish();
  req.close();

  assertU(commit());

  req = lrf.makeRequest();
  assertEquals(nDocs, req.getSearcher().maxDoc());
  req.close();
}
 
开发者ID:europeana,项目名称:search,代码行数:57,代码来源:TestSearchPerf.java

示例6: createIndex2

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
void createIndex2(int nDocs, String... fields) throws IOException {
  Set<String> fieldSet = new HashSet<String>(Arrays.asList(fields));

  SolrQueryRequest req = lrf.makeRequest();
  SolrQueryResponse rsp = new SolrQueryResponse();
  UpdateRequestProcessorChain processorChain = req.getCore().getUpdateProcessingChain(null);
  UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);

  boolean foomany_s = fieldSet.contains("foomany_s");
  boolean foo1_s = fieldSet.contains("foo1_s");
  boolean foo2_s = fieldSet.contains("foo2_s");
  boolean foo4_s = fieldSet.contains("foo4_s");
  boolean foo8_s = fieldSet.contains("foo8_s");
  boolean t10_100_ws = fieldSet.contains("t10_100_ws");

  
  for (int i=0; i<nDocs; i++) {
    SolrInputDocument doc = new SolrInputDocument();
    doc.addField("id",Float.toString(i));
    if (foomany_s) {
      doc.addField("foomany_s",t(r.nextInt(nDocs*10)));
    }
    if (foo1_s) {
      doc.addField("foo1_s",t(0));
    }
    if (foo2_s) {
      doc.addField("foo2_s",r.nextInt(2));
    }
    if (foo4_s) {
      doc.addField("foo4_s",r.nextInt(4));
    }
    if (foo8_s) {
      doc.addField("foo8_s",r.nextInt(8));
    }
    if (t10_100_ws) {
      StringBuilder sb = new StringBuilder(9*100);
      for (int j=0; j<100; j++) {
        sb.append(' ');
        sb.append(t(r.nextInt(10)));
      }
      doc.addField("t10_100_ws", sb.toString());
    }

    AddUpdateCommand cmd = new AddUpdateCommand(req);
    cmd.solrDoc = doc;
    processor.processAdd(cmd);
  }
  processor.finish();
  req.close();

  assertU(commit());

  req = lrf.makeRequest();
  assertEquals(nDocs, req.getSearcher().maxDoc());
  req.close();
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:57,代码来源:TestSearchPerf.java

示例7: getProcessor

import org.apache.solr.update.processor.UpdateRequestProcessorChain; //导入方法依赖的package包/类
/**
 * Gets the processor build from the processor update chain(UpdateParams.UPDATE_CHAIN)
 *
 * @param req - the solr query request information
 * @param rsp - the solr query response information
 * @return the update request processor
 */
private UpdateRequestProcessor getProcessor(SolrQueryRequest req, SolrQueryResponse rsp) {
    UpdateRequestProcessorChain processorChain =
            req.getCore().getUpdateProcessingChain(req.getParams().get(UpdateParams.UPDATE_CHAIN));
    return processorChain.createProcessor(req, rsp);
}
 
开发者ID:ChronixDB,项目名称:chronix.server,代码行数:13,代码来源:ChronixRetentionHandler.java


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