我在過去的3天裏被卡住了ClobTransformer
。我想將一個oracle clob字段轉換爲solr中的文本字段。我使用多個內核,並從頭開始配置和架構文件。solr clobtransfomer
這是我的配置文件:
<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
這些都是在爲我的核心架構文件中的列:
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="mandp" type="text_en_splitting" indexed="true" stored="true" multiValued="false" />
這是我的核心數據-config.xml中:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@***"
user="***"
password="****"/>
<document>
<entity name="wiki" transformer="ClobTransformer"
query="Select t.id as id, t.mandp From table1 t">
<field column="mandp" name="mandp" clob="true" />
</entity>
</document>
</dataConfig>
當我啓動solr時,可以看到dataimporthandler * .jar文件已成功加載到控制檯中。當我從http://localhost:8983/solr/wiki/dataimport?command=full-import&clean=false
運行我的數據導入時,在控制檯中看不到任何錯誤,我也看不到任何與變壓器或clob相關的任何錯誤。所以,如果我在我的變壓器參數(變壓器=「bla bla」)中輸入任何內容,它不會在控制檯中引發任何錯誤,這可能意味着我的變壓器參數完全被忽略,或者完全記錄被關閉。
當我查詢solr時,我在mandp字段中看到[email protected]。當然,如果我也使用HTMLStripTransformer類,那什麼都不會發生。我想在這個領域使用兩個。
任何想法都讚賞!
我改變了我的查詢「選擇id,mandp從table1「。這沒有什麼區別。 – 2011-12-21 15:00:21
找到發生了什麼,這是列案例不匹配。 Oracle將ID轉換爲ID並將mandp轉換爲MANDP。所以,從來沒有找到字段匹配,因此clob =「true」沒有被應用(我知道在solr案例中必須匹配,但我忘記oracle會默認將所有列轉換爲大寫) – 2011-12-21 16:56:12
是啊,對,我也忘了。我不是那麼遠......它必須是與列名相關的東西。 – javanna 2011-12-21 18:14:11