我已经通过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>
我找不到任何可以帮助我解决问题的日志或任何其他信息,正如许多人所发现的那样,可用的文档不是很有帮助。
任何想法都将非常感激。谢谢!
答案 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索引一个简单的表,希望它有所帮助。