0

DIHでUpdateRequestProcessorChainを使用すると、データがインデックスにコミットされないという問題が発生します。プロセッサをデバッグしようとしましたが、動作します。full-importコマンドのステータスは次のとおりです。

<response>
<lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">1</int>
</lst>
<lst name="initArgs">
    <lst name="defaults">
        <str name="update.processor">DataImportChain</str>
        <str name="config">data-config.xml</str>
    </lst>
</lst>
<str name="command">status</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
    <str name="Total Requests made to DataSource">0</str>
    <str name="Total Rows Fetched">7</str>
    <str name="Total Documents Skipped">0</str>
    <str name="Full Dump Started">2012-04-26 17:47:44</str>
    <str name="">Indexing completed. Added/Updated: 6 documents. Deleted 0 documents.</str>
    <str name="Committed">2012-04-26 17:47:45</str>
    <str name="Optimized">2012-04-26 17:47:45</str>
    <str name="Total Documents Processed">6</str>
    <str name="Time taken ">0:0:1.174</str>
</lst>
<str name="WARNING">This response format is experimental.  It is likely to change in the future.</str>

しかし、catalina.outには、コミットプロセスが呼び出されたという情報はありません。

26.04.2012 17:47:44 org.apache.solr.handler.dataimport.DataImporter doFullImport
INFO: Starting Full Import
26.04.2012 17:47:44 org.apache.solr.core.SolrCore execute
INFO: [dev] webapp=/solr path=/dataimport params={clean=true&commit=true&command=full-import} status=0 QTime=20 
26.04.2012 17:47:44 org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties
INFO: Read dataimport.properties
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.XPathEntityProcessor initXpathReader
INFO: Using xslTransformer: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.DocBuilder finish
INFO: Import completed successfully
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties
INFO: Read dataimport.properties
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.SolrWriter persist
INFO: Wrote last indexed time to dataimport.properties
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.DocBuilder execute
INFO: Time taken = 0:0:1.174

ログにエラーはありません。UpdateRequestProcessorChainなしでDIHを使用する場合、コミットに問題はありません。ここで何が間違っているのか誰かが考えていますか?

これが私のsolrconfig.xmlからの構成です:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="update.processor">DataImportChain</str>
        <str name="config">data-config.xml</str>  
    </lst>
</requestHandler>

<updateRequestProcessorChain name="DataImportChain" >
    <processor class="my.package.MyProcessorFactory" />
</updateRequestProcessorChain>
4

1 に答える 1

1

でいくつかの基本プロセッサを省略したupdateRequestProcessorChainため、何も起こりません。この構成を試してください:

<updateRequestProcessorChain name="DataImportChain" >
    <processor class="my.package.MyProcessorFactory" />
    <processor class="solr.RunUpdateProcessorFactory" />
    <processor class="solr.LogUpdateProcessorFactory" />
</updateRequestProcessorChain>

実際には、チェーン内で「通常のRunUpdateProcessorFactoryもの」を実行するものです。それを忘れると、索引付けされていないものを前処理しています。

于 2012-05-01T08:39:31.830 に答える