2011-03-05 64 views
1

當我運行full_import命令時,它工作正常。更新的日期被寫入dataimport.properties文件。當我運行delta-import時,索引失敗。回滾所有更改。dataimport.properties文件已創建,並具有solr/conf/location中的777權限。solr DIH中的delta導入問題

請幫我解決這個問題。


@mbonaci

查詢,deltaImportQuery和deltaQuery在數據-config.xml中是如下

<entity name="item" query="select group_title,description,DATE_FORMAT(created_date, '%Y-%m-%dT%H:%i:%sZ') as createdDate,group_status, 'GROUP' as itemtype,group_id as id from collaboration_groups where group_status=1" 
deltaImportQuery="select group_title,description,DATE_FORMAT(created_date, '%Y-%m-%dT%H:%i:%sZ') as createdDate,group_status,group_id as id,'GROUP' as itemtype from collaboration_groups where group_status=1 and group_id=${dataimporter.delta.id} " 
deltaQuery="select group_id from collaboration_groups where group_status=1 and updated_date &gt; '${dataimporter.last_index_time}'" deletedPkQuery="select group_id from collaboration_groups where group_status = 0 and updated_date &gt; '${dataimporter.last_index_time}'"> 
      <field column="id" name="id" /> 
      <field column="itemtype" name="itemtype" /> 
      <field column="group_title" name="fullName" /> 
      <field column="description" name="description"/> 
      <field column="createdDate" name="createdDate"/> 
</entity> 

config.xml中的dataImport請求處理程序的配置參數如下

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

回答

8

我注意到,在你的deltaImportQuery中,你引用了id(它不存在於你的deltaQuery中)而不是group_id。在這一行:

...and group_id=${dataimporter.delta.id}" 

由於您在deltaQuery PK是GROUP_ID,查詢部分應該是這樣的:

...and group_id=${dataimporter.delta.group_id}" 

我有同樣問題的辯論,因爲」我不明白${dataimporter.delta}在其實代表deltaQuery

0

你可以看看你的dataConfig文件和文章您的querydeltaImportQuerydeltaQuery
dataConfig直接位於您的solrconfig.xml,位於dataImport請求處理程序標記中或位於單獨的xml文件中。要找出哪些文件檢出配置參數dataImport請求處理程序,這是應該類似於這樣的:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">mssql-jdbc.xml</str> 
    </lst> 
</requestHandler> 

dataConfig該文件位於同一目錄中solrconfig.xml中(CONF)。

+0

請檢查我的帖子 – 2011-03-06 06:13:06