本文整理汇总了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();
}
}
示例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();
}
}
示例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();
}
}
示例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();
}
}
示例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();
}
示例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();
}
示例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);
}