我正在使用dataImportHandler將數據從Oracle數據庫導入solr。雖然導入和識別成功,但我無法搜索,因爲文檔沒有創建。日誌中也沒有錯誤。這裏是我的配置文件片段。請幫助。已處理的總文檔數= 0雖然使用Solr與Oracle數據庫獲取的總行數非零
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
schema.xml中
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
</types>
<fields>
<field name="eid" type="string" indexed="true" stored="true" required="true" />
<field name="nm" type="string" indexed="true" stored="true" required="true" />
</fields>
<uniqueKey>eid</uniqueKey>
<defaultSearchField>nm</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
數據-config.xml中
<dataConfig> url="jdbc:oracle:thin:@//abc" user="abc" password="abc" />
<document name="client">
<entity name="org" query="select org.code ,org.name from abc org where org_name like 'BB%'">
<field column="code" name="eid"/>
<field column="name" name="nm" />
</entity>
</document>
</dataConfig>
數據導入狀態:
<str name="Total Rows Fetched">64</str>
<str name="Total Documents Processed">0</str>
謝謝傑姆的快速回復。我試過類似這樣的東西:http:// localhost:8983/solr/dataimport?command = full-import&debug = false&commit = true如果這是你所說的並且在我的控制檯看到以下錯誤。 2011-12-26 08:42:24.638:WARN ::/solr/dataimport java.lang.IllegalStateException:在org.mortbay.jetty.Response.resetBuffer(Response.java:1023)處提交,位於org.mortbay.jetty.Response .sendError(Response.java:240)....:承諾之前500 null || org.mortbay.jetty.EofException <|?在org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:791) – myQuest5 2011-12-26 03:33:51
嗨。我現在再試一次,但現在我沒有看到我提到的錯誤,但總體文件處理仍然是0. – myQuest5 2011-12-26 07:19:15
現在對我來說工作很好。看起來像數據配置文件中的列名應該是大寫的,因爲Oracle以這種方式返回它。 – myQuest5 2011-12-29 03:37:21