2012-11-24 86 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" />