2012-05-02 86 views
0

我想建立一個DataImportHandler並在試圖做一個完整的進口我得到這個錯誤:爲什麼實體有時需要一個「url」參數,有時不需要?

SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: SolrEntityProcessor: parameter 'url' is required Processing Document # 1

我在示例數據-config.xml中附帶的Solr看到有時實體URL參數和有時它不會。如果這是必需的,爲什麼一些例子沒有它?

它在找什麼網址?

文檔實際上並沒有顯示「URL」作爲SqlEntityProcessor

For SqlEntityProcessor the entity attributes are :
query (required) : The sql string using which to query the db
deltaQuery : Only used in delta-import
parentDeltaQuery : Only used in delta-import
deletedPkQuery : Only used in delta-import
deltaImportQuery : (Only used in delta-import) . If this is not present , DIH tries to construct the import query by(after identifying the delta) modifying the 'query' (this is error prone). There is a namespace ${dataimporter.delta.} which can be used in this query. e.g: select * from tbl where id=${dataimporter.delta.id} Solr1.4.

+1

你是什麼DIH配置? –

回答

1

必需的參數這取決於您使用的具體實施EntityProcessor。每個EntityProcessor都有其自己的實體屬性。 SQLEntityProcessor不需要URL參數,因爲它依賴於dataSource元素來獲取連接到數據庫所需的信息,而例如SolrEntityProcessor不需要dataSource元素,但依賴於url屬性來獲取從中導入數據的Solr實例。 也有不同的DataSource實現,如果你看看JdbcDataSource你會發現它需要url參數本身。

+0

我的意思是使用SqlEntityProcessor,但我想我所有的目光都集中在SolrEntityProcessor上,所以這就是爲什麼它告訴我我需要一個url參數。將其更改爲SqlEntityProcessor,現在一切正常。 – Michael

相關問題