本文整理汇总了Java中org.apache.solr.update.DeleteUpdateCommand.setQuery方法的典型用法代码示例。如果您正苦于以下问题:Java DeleteUpdateCommand.setQuery方法的具体用法?Java DeleteUpdateCommand.setQuery怎么用?Java DeleteUpdateCommand.setQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.solr.update.DeleteUpdateCommand
的用法示例。
在下文中一共展示了DeleteUpdateCommand.setQuery方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deleteByQuery
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
private void deleteByQuery(String query) throws IOException
{
SolrQueryRequest request = null;
UpdateRequestProcessor processor = null;
try
{
request = getLocalSolrQueryRequest();
processor = this.core.getUpdateProcessingChain(null).createProcessor(request, new SolrQueryResponse());
DeleteUpdateCommand delDocCmd = new DeleteUpdateCommand(request);
delDocCmd.setQuery(query);
processor.processDelete(delDocCmd);
}
finally
{
if(processor != null) {processor.finish();}
if(request != null) {request.close();}
}
}
示例2: delete
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
/**
* Deletes documents identified by the given documents.
*
* @param docs the documents
* @throws IOException iff something goes wrong
*/
public void delete(Collection<Document> docs) throws IOException {
DeleteUpdateCommand cmd = new DeleteUpdateCommand(req);
cmd.commitWithin = COMMIT_WITHIN;
cmd.setFlags(DeleteUpdateCommand.BUFFERING);
cmd.setQuery("{!terms f=" + ID + "}" + docs.stream().map(it -> it.get(ID)).collect(joining(",")));
updateProcessor.processDelete(cmd);
}
示例3: verifyAuthorized
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
private void verifyAuthorized(String collection, String user) throws Exception {
SolrQueryRequestBase req = new SolrQueryRequestBase(core, new MapSolrParams(new HashMap())) {};
getProcessor(collection, user).processAdd(new AddUpdateCommand(req));
getProcessor(collection, user).processDelete(new DeleteUpdateCommand(req));
DeleteUpdateCommand deleteByQueryCommand = new DeleteUpdateCommand(req);
deleteByQueryCommand.setQuery("*:*");
getProcessor(collection, user).processDelete(deleteByQueryCommand);
getProcessor(collection, user).processMergeIndexes(new MergeIndexesCommand(null, req));
getProcessor(collection, user).processCommit(new CommitUpdateCommand(req, false));
getProcessor(collection, user).processRollback(new RollbackUpdateCommand(req));
getProcessor(collection, user).finish();
}
示例4: run
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
public void run() {
// setup the request context early so the logging (including any from
// shouldWeDoPeriodicDelete() ) includes the core context info
final SolrQueryRequest req = new LocalSolrQueryRequest
(factory.core, Collections.<String,String[]>emptyMap());
try {
final SolrQueryResponse rsp = new SolrQueryResponse();
SolrRequestInfo.setRequestInfo(new SolrRequestInfo(req, rsp));
try {
if (! factory.iAmInChargeOfPeriodicDeletes() ) {
// No-Op
return;
}
log.info("Begining periodic deletion of expired docs");
UpdateRequestProcessorChain chain = core.getUpdateProcessingChain(deleteChainName);
UpdateRequestProcessor proc = chain.createProcessor(req, rsp);
if (null == proc) {
log.warn("No active processors, skipping automatic deletion " +
"of expired docs using chain: {}", deleteChainName);
return;
}
try {
DeleteUpdateCommand del = new DeleteUpdateCommand(req);
del.setQuery("{!cache=false}" + expireField + ":[* TO " +
DateField.formatExternal(SolrRequestInfo.getRequestInfo().getNOW())
+ "]");
proc.processDelete(del);
// TODO: should this be more configurable?
// TODO: in particular: should hard commit be optional?
CommitUpdateCommand commit = new CommitUpdateCommand(req, false);
commit.softCommit = true;
commit.openSearcher = true;
proc.processCommit(commit);
} finally {
proc.finish();
}
log.info("Finished periodic deletion of expired docs");
} catch (IOException ioe) {
log.error("IOException in periodic deletion of expired docs: " +
ioe.getMessage(), ioe);
// DO NOT RETHROW: ScheduledExecutor will supress subsequent executions
} catch (RuntimeException re) {
log.error("Runtime error in periodic deletion of expired docs: " +
re.getMessage(), re);
// DO NOT RETHROW: ScheduledExecutor will supress subsequent executions
} finally {
SolrRequestInfo.clearRequestInfo();
}
} finally {
req.close();
}
}
示例5: deleteNode
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
private void deleteNode(UpdateRequestProcessor processor, SolrQueryRequest request, long dbid) throws IOException
{
DeleteUpdateCommand delDocCmd = new DeleteUpdateCommand(request);
delDocCmd.setQuery(FIELD_DBID + ":" + dbid);
processor.processDelete(delDocCmd);
}
示例6: deleteOldDocuments
import org.apache.solr.update.DeleteUpdateCommand; //导入方法依赖的package包/类
/**
* Triggers the deletion
*
* @param processor the update processor do process deletions
* @param req the solr query request information
* @throws IOException if bad things happen
*/
private void deleteOldDocuments(String deletionQuery, UpdateRequestProcessor processor, SolrQueryRequest req) throws IOException {
DeleteUpdateCommand delete = new DeleteUpdateCommand(req);
delete.setQuery(deletionQuery);
processor.processDelete(delete);
}