2011-12-23 48 views
2

我正在使用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>  

回答

2

你有沒有試着用DIH development mode調試呢?

+0

謝謝傑姆的快速回復。我試過類似這樣的東西: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

嗨。我現在再試一次,但現在我沒有看到我提到的錯誤,但總體文件處理仍然是0. – myQuest5 2011-12-26 07:19:15

+0

現在對我來說工作很好。看起來像數據配置文件中的列名應該是大寫的,因爲Oracle以這種方式返回它。 – myQuest5 2011-12-29 03:37:21

1

一些到Solr的管理控制檯(即http://[yourhost]:8983/solr/index.html#/)上進行調試方法:

  1. 在Dataimport(http://[yourhost]:8983/solr/index.html#/dataimport/),選中 「原始狀態 - 輸出」 「總文檔失敗」

    "statusMessages": { 
        "Total Requests made to DataSource": "1", 
        "Total Rows Fetched": "12966", 
        "Total Documents Processed": "0", 
        "Total Documents Skipped": "0", 
        "Full Dump Started": "2016-08-08 11:15:18", 
        "": "Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.", 
        "Committed": "2016-08-08 11:15:20", 
        **"Total Documents Failed": "12966"**, 
        "Time taken": "0:0:2.452" 
        } 
    
  2. 在管理控制檯上,轉至「日誌記錄」頁(http://[yourhost]:8983/solr/index.html#/~logging)以查看錯誤日誌。

相關問題