2012-11-24 110 views
4

另一個Solr 4新用戶。我很欣賞Solr能夠在全文搜索中做什麼,但在線文檔有點令人沮喪。無論如何,我正在將我的MySQL數據庫(擁有幾百萬條記錄)導入Solr。
完全導入MySQL數據庫到Solr 4給404錯誤

  • 我下載了Java連接器並將其保存在example/lib目錄中。
  • 我創建data-config.xml,並在其中提出:

    <document name="doc"> 
        <entity name="pagey" query="SELECT * FROM page"> 
    
         <field column="id" name="pid" /> 
         <field column="Content" name="pcontent" /> 
         <field column="bid" name="bid" /> 
         <field column="Num" name="num" /> 
        </entity> 
    </document> 
    

    並保存它:/example/solr/collection1/conf

  • 鏈接該文件solrconfig.xml加入:

    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>

  • 修改schema.xml中加入我的新領域。

但是當我抵達安葬執行全進口:http://[localhost]:8983/solr/dataimport?command=full-import我得到這個錯誤:HTTP ERROR 404 Problem accessing /solr/dataimport. Reason: Not Found。我認爲這在上一個版本中不再有效。所以我嘗試了:http://[localhost]:8983/solr/#/collection1/dataimport?command=full-import但沒有任何反應。

我的字段已成功添加,我可以在collection1的架構瀏覽器部分的管理面板中看到它們。

從admin - > collection1 - > Dataimport,它顯示:sorry, no dataimport-handler defined!。 運行start.jar不顯示錯誤。

我在這裏想念什麼?

編輯:解決它之後,請記住「XML區分大小寫」。

+1

在solrconfig.xml中顯示您的數據-config.xml中,而你說你的導入設置在data-import.xml中......是一個錯字還是你真的這麼做?另一個與solr4.0有關的問題是,對於dataimport的東西有一些奇怪的變化,我在開始時也有類似的數據導入問題,但在挖掘郵件列表後,我能夠運行它......在輸入錯字事情很清楚,我可以把我的配置和其他設置放在這裏,如果它仍然保持失敗 ,當你嘗試運行dataimport時看到你的日誌部分會很高興 – stephanruhl

+0

謝謝stephanruhl。絕對是一個錯字,它的名字是'data-config.xml'。感謝您指出。我想看看你做了什麼來解決這個問題。 –

回答

3

你的數據配置需要看起來更像這樣。您沒有指定mysql主機,用戶或密碼。

<dataConfig> 
    <dataSource type="JdbcDataSource" 
    driver="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://127.0.0.1:8889/yourdatabase" 
    user="mysql_user" 
    password="mysql_password"/> 

<document name="doc"> 
    <entity name="pagey" query="SELECT * FROM page"> 

     <field column="id" name="pid" /> 
     <field column="Content" name="pcontent" /> 
     <field column="bid" name="bid" /> 
     <field column="Num" name="num" /> 
    </entity> 
</document> 
</dataConfig> 

您需要將其包含在solrconfig.xml文件中。

<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 

<requestHandler name="/dataimport" 
    class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
    </requestHandler> 

在solr.xml你需要確保你有以下

<solr persistent="true" sharedLib="../lib"> 
+1

這個人[這裏](http://blog.braslavsky.org/2010/12/installing-and-configure-apache-solr.html)欺騙了我;當我發現''中的「H」是大寫字母時,我正在閱讀[官方說明](http://wiki.apache.org/solr/DIHQuickStart)。我檢查了你的回覆以確認它是如此。 「XML是區分大小寫的」我很確定這不是我的步驟,我跟着你的一個一個,或者正式快速啓動。現在解決它的任何方式。我非常感謝你的幫助bikedorkseattle。 課程:「不要接受任何在線教程,人們會犯錯誤」。 –

1
If you are using latest Solr then use 

<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" /> 


instead of 

<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />