2012-10-30 16 views
1
<route> 
    <from uri="direct:insert"/> 
    <setHeader headerName="SolrOperation"> 
     <constant>INSERT</constant> 
    </setHeader> 
    <setHeader headerName="SolrField.id"> 
     <simple>${body}</simple> 
    </setHeader> 
    <to uri="solr://localhost:8983/solr"/> 
</route> 

這是將$ {body}設置爲'id'字段的示例代碼,但由於它支持將消息正文作爲SolrInputDocument或等效的XML,因此我想如何在上述XML路由中執行此操作?如何將SolrInputDocument或XML作爲值添加到camel-solr xml路由中?

回答

0

如果你有SolrInputDocument,然後只是把它作爲一個消息路由的身體,並確保操作頭設置正確......

//example producer code 
SolrInputDocument doc = new SolrInputDocument(); 
doc.addField("id", "MA147LL/A", 1.0f); 
template.sendBodyAndHeader("direct:start", doc, SolrConstants.OPERATION, SolrConstants.OPERATION_INSERT); 

//simplified route that just expects the message body and OPERATION header are setup appropriately 
<from uri="direct:insert"/> 
<to uri="solr://localhost:8983/solr"/> 

看到了單元測試的詳細信息。 ..

https://svn.apache.org/repos/asf/camel/trunk/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java

+0

感謝您的答覆,但我設置了以純XML,像上面?或者我必須在JAVA代碼? – simonxy

+0

該路線可以在XML或Java中...其方式相同 –

相關問題