2014-09-02 154 views
0

我遇到的問題與deltaquery不能自動工作。下面是數據配置我有DeltaImport默認情況下不會發生

 <dataConfig> 
     <dataSource type="JdbcDataSource" 
     driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
     url="jdbc:sqlserver://WTL-sql-1.com;databaseName=eng_metrics" 
     user="metrics" 
     password="metrics"/> 

     <document name="content"> 
      <entity name="id" 
    query="select defect_id,headline,description,modify_date,issue_type,category,product,state FROM defects WHERE state not like 'Duplicate'" 
    deltaImportQuery="select defect_id,headline,description,modify_date,issue_type,category,product,state FROM defects WHERE defect_id = '${dataimporter.delta.defect_id}' and state not like 'Duplicate'" 
    deltaQuery="select defect_id FROM defects WHERE modify_date > '${dataimporter.last_index_time}'"> 

       <field column="defect_id" name="defect_id" /> 
       <field column="headline" name="headline" /> 
       <field column="description" name="description" /> 
       <field column="modify_date" name="modify_date" />    
       <field column="issue_type" name="issue_type" /> 
       <field column="category" name="category" /> 
       <field column="product" name="product" /> 
       <field column="state" name="state" /> 
      </entity> 
     </document> 
    </dataConfig> 

但我看到,無論在DB的modify_date變化,我看不出有任何更新發生,除非我嘗試做明確的增量導入什麼。

有人可以提供一些想法,我是否需要改變一些配置或一些查詢,使其自動發生?

回答

0

實際上,DataImportHandler不會自動執行它。您必須通過調用delta import的url來觸發它。

你可能想是這樣的:

http://wiki.apache.org/solr/DataImportHandler#Scheduling

,或者你可以都由你自己實現類似的一個。

+0

我已經在上面添加了對此的回覆..不知何故,我無法在此發佈..對不起: – user3917144 2014-09-05 13:14:34

0

但是我已經在這個數據-config的,如果該項目被立即修改該地沒有任何干擾更新,但如果新的數據被創建並沒有得到在某些情況下

<dataConfig> 
     <dataSource type="JdbcDataSource" 
     driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
     url="jdbc:sqlserver://127.0.0.1\SQLEXPRESS;databaseName=sustaining_trends" 
     user="sa" 
     password="metrics"/> 

     <document name="content"> 
      <entity name="id" 
    query="select id,createtime,lastmodified,modifiedby,title,keywords,general,symptom,diagnosis,resolution FROM trends" 
    deltaImportQuery="select id,createtime,lastmodified,modifiedby,title,keywords,general,symptom,diagnosis,resolution FROM trends WHERE id = ${dataimporter.delta.id}" 
    deltaQuery="select id FROM trends WHERE lastmodified > '${dataimporter.last_index_time}' or createtime > '${dataimporter.last_index_time}'"> 

       <field column="id" name="trendid" /> 
       <field column="lastmodified" name="lastmodified" /> 
       <field column="modifiedby" name="modifiedby" /> 
       <field column="title" name="title" /> 
       <field column="keywords" name="keywords" /> 
       <field column="general" name="general" /> 
       <field column="symptom" name="symptom" /> 
       <field column="diagnosis" name="diagnosis" /> 
       <field column="resolution" name="resolution" /> 
      </entity> 
     </document> 
    </dataConfig> 

這裏工作正常更新,直到我做手動增量導入或者修改一些條目。

這項工作是如何自動進行修改並且不能自動創建的?