2012-04-27 71 views
2

當我嘗試通過在瀏覽器中加載此導入MySQL表:如何使用Solr數據導入處理程序來索引MySQL表?

http://192.168.136.129:8983/solr/dataimport?command=full-import 

我得到這個錯誤:

HTTP ERROR 404 

Problem accessing /solr/dataimport. Reason: 

    NOT_FOUND 

Powered by Jetty:// 

我下面從官方Solr的維基本教程上手與DIH:

http://wiki.apache.org/solr/DIHQuickStart

按我說這個我solrconfig.xml中教程:

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

數據-config.xml中我有以下幾點:

<dataConfig> 
    <dataSource type="JdbcDataSource" 
       driver="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://localhost/site" 
       user="root" 
       password="123"/> 
    <document> 
    <entity name="profiles" 
      query="select user_id,about,music,movies,occupation from profiles"> 
    </entity> 
    </document> 
</dataConfig> 

而這些都在我的schema.xml中定義的字段:

<fields> 
    <field name="user_id" type="string" indexed="true" stored="true" required="true" /> 
    <field name="about" type="string" indexed="true" stored="true" /> 
    <field name="music" type="string" indexed="true" stored="true" /> 
    <field name="movies" type="string" indexed="true" stored="true" /> 
    <field name="occupation" type="string" indexed="true" stored="true" /> 
    <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> 
    </fields> 

    <uniqueKey>user_id</uniqueKey> 

所以我在做什麼錯?我想它可能與data-config.xml文件有關。其中我不知道是否假定了某個指向MySQL驅動程序的路徑。我下載了MySQL JDBC驅動程序從這裏開始:

http://dev.mysql.com/downloads/connector/j/3.1.html

,並把它放在我的/solr/lib目錄。

當我下載驅動程序並解壓縮後,在一個名爲「mysql-connector-java-3.0.17-ga」的文件夾中有一堆文件夾。

我注意到,裏面有一個叫DIR:有一個叫Driver.class文件com和內部的mysqljbdc內內。

這是從data-config.xml引用的內容嗎?如果是這樣,爲什麼不是沒有提到的初始目錄。

基本上我不知道是什麼問題,請有人幫忙。

+0

你正在使用多核?你的solr home中是否有'solr.xml'文件? – javanna 2012-04-27 08:13:55

+1

轉到http://192.168.136.129:8983/solr/admin/dataimport.jsp並檢查DIH GUI是否工作 – nikhil500 2012-04-27 08:59:31

+0

編輯'solrconfig.xml'後,您是否重新啓動solr? – beerbajay 2012-04-29 11:27:54

回答

0

您收到NOT_FOUND錯誤的事實意味着您的請求處理程序未被初始化。確保在插入請求處理程序後重新啓動solr。

另外,還要確保你有保存在同一目錄中的數據-config.xml中爲您的solrconfig.xml中

0

嘗試把絕對路徑爲您data-config.xml位置在solrconfig.xml,而不是相對路徑。

5

只是確保你有這行代碼solrconfig.xml中的文件

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

使這些JAR文件,並將這些jar文件的確認路徑應該可以物理上這條道路。如果你沒有,那麼請添加,並嘗試重新啓動tomacat服務器,並希望它會得到解決。

0

看起來你在你的Solr/lib文件夾或你的solr-conf中缺少'DataImportHandler.jar'。xml文件不知道DataImportHandler類。

確保DataImportHandler是存在那裏,檢查 打

"http://localhost/solr/dataimport" , 

,如果你不上你的瀏覽器的錯誤信息,這意味着Solr的-conf.xml中不知道SolrDataImportHandler.jar

的位置

解決方案:問題可以通過使用的代碼下面的行SOLR-conf.xml中

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

有關詳細信息檢查OU來解決t this

有可能是您的初始配置不完美,請在開始導入之前查看Here to configure solr

0

我知道這個問題很老,但我最近有一個機會來設置它,並使用Bitnami(Windows)有類似的問題。

  1. \dist請確保您有dataimportermysqlconnector

Solr的-dataimporthandler-4.9.0.jar

mysqlconnector的Java-5.1.32斌.jar

  1. In \contrib\dataimporthandler\lib

    激活1.1.1.jar

    郵件1.4.3.jar

  2. 在您的收藏solrconfig.xml中應該有

    <lib dir="../../contrib/dataimporthandler/lib/" regex=".*\.jar" /> 
    <lib dir="../../dist/" regex="solr-dataimporthandler-.*\.jar" /> 
    <lib dir="../../dist/" regex="mysql-connector-java-.*\.jar"/> 
    

和:

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