无法使用Ubuntu 10.10将数据从MySql导入Solr

时间:2010-11-24 18:51:37

标签: mysql solr

我已经通过apt-get(Ubuntu 10.10)安装了solr-commons包。我可以浏览http://localhost:8080/solr并且效果很好。

我已经定义了这样的架构:

<fields>
   <field name="idEmpresa" type="sint" indexed="true" stored="true" required="true" />
   <field name="nombre" type="text" indexed="true" stored="true" required="true" />
   <field name="sitioWeb" type="text" indexed="true" stored="true" required="false" />
   <field name="email" type="text" indexed="true" stored="true" required="false" />
   <field name="telefono" type="text" indexed="true" stored="true" required="false" />
 </fields>

 <!-- Field to use to determine and enforce document uniqueness. 
      Unless this field is marked with required="false", it will be a required field
   -->
 <uniqueKey>idEmpresa</uniqueKey>

 <!-- field for the QueryParser to use when an explicit fieldname is absent -->
 <defaultSearchField>nombre</defaultSearchField>

 <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
 <solrQueryParser defaultOperator="OR"/>

这是我的data-config.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource type="JdbcDataSource"
                  driver="com.mysql.jdbc.Driver"
                  url="jdbc:mysql://localhost/viajeros2_ut8"
                  user="user"
                  password="pwd"
                />

    <document>
        <entity name="empresa" query="select idEmpresa, nombre, sitioWeb, telefono, direccion from empresas WHERE 1">
        </entity>
    </document>
</dataConfig>

最后,这是我设置solrconfig.xml的方法:

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

当我尝试http://localhost:8080/solr/dataimport?command=full-import时,我得到了这个:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">91</int></lst><lst name="initArgs"><lst name="defaults"><str name="config">/usr/share/solr/conf/data-config.xml</str></lst></lst><str name="command">full-import</str><str name="status">idle</str><str name="importResponse"/><lst name="statusMessages"/><str name="WARNING">This response format is experimental.  It is likely to change in the future.</str>
</response>

我找不到任何可以帮助我解决问题的日志或任何其他信息,正如许多人所发现的那样,可用的文档不是很有帮助。

任何想法都将非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您通过synaptics / apt安装了solr-tomcat,那么Ubuntu会将tomcat(包括Solr输出)的日志放入:
/var/log/tomcat6/catalina.out

这可能包含错误:
org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver Processing Document # 1

...这意味着Solr找不到Java的MySql驱动程序。

所以,安装一个驱动程序:
sudo apt-get install libmysql-java

...并在某个地方为驱动程序包创建符号链接Solr可以找到它:
sudo mkdir /usr/share/solr/lib
cd /usr/share/solr/lib
sudo ln -s /usr/share/java/mysql-connector-java.jar

这似乎让我已经设法从MySql索引一个简单的表,希望它有所帮助。