![](/img/trans.png)
[英]Can not import/index data from mysql database to solr using dataimporthandler
[英]Can't import data from MySql into Solr using Ubuntu 10.10
我已經通過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>
我找不到任何日志或任何其他信息可以幫助我解決此問題,而且正如許多人所遇到的那樣,可用的文檔不是很有幫助。
任何想法將不勝感激。 謝謝!
如果您已通過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索引一個簡單表的地步,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.