我试图在Solr中调试一些代码,并且很想知道两者之间的区别:
UpdateRequestHandler extends ContentStreamHandlerBase extends RequestHandlerBase
,
因此UpdateRequestHandler
在RequestHandlerBase.handleCommit
时使用commit=true
。
但我无法确定在DataImportHandler
时commit=true
调用哪种方法。
答案 0 :(得分:1)
DataImportHandler
在line 308 - 313 (for 4.8.1 at least) in org.apache.solr.handler.dataimport.DocBuilder
执行提交。根据实施情况,这会调用commit on org.apache.solr.handler.dataimport.SolrWriter
,而creates an instance of org.apache.solr.update.CommitUpdateCommand
会将org.apache.solr.update.processor.UpdateRequestProcessor
发送到{{3}}。
所以流程是:
DataImportHandler
DocBuilder
SolrWriter
CommitUpdateCommand
UpdateRequestProcessor