Wie verwende ich den Solr Data Import Handler, um eine MySQL-Tabelle zu indizieren?
Wenn ich versuche, eine MySQL-Tabelle zu importieren, indem ich diese in den Browser lade:
<code>http://192.168.136.129:8983/solr/dataimport?command=full-import </code>
Ich erhalte diesen Fehler:
<code>HTTP ERROR 404 Problem accessing /solr/dataimport. Reason: NOT_FOUND Powered by Jetty:// </code>
Ich folge diesem Tutorial aus dem offiziellen Solr-Wiki, um mit dem DIH zu beginnen:
http://wiki.apache.org/solr/DIHQuickStart
Gemäß dem Tutorial habe ich dies zu meiner solrconfig.xml hinzugefügt:
<code><requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler> </code>
In der Datei data-config.xml habe ich Folgendes:
<code><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> </code>
Und dies sind die Felder, die in meiner schema.xml definiert sind:
<code> <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> </code>
Also, was mache ich falsch? Ich stelle mir vor, es könnte etwas mit der Datei data-config.xml zu tun haben. Darin weiß ich nicht, ob ein bestimmter Pfad zum MySQL-Treiber angenommen wird. Ich habe den MySQL-JDBC-Treiber von hier heruntergeladen:
http://dev.mysql.com/downloads/connector/j/3.1.html
und steck es in meine/solr/lib
Verzeichnis.
Als ich den Treiber heruntergeladen und extrahiert habe, befanden sich in einem Ordner eine Reihe von Ordnern mit dem Namen "mysql-connector-java-3.0.17-ga".
Ich stelle fest, dass sich im Inneren ein Verzeichnis befindet, das heißt:com
und darinmysql
und darinjbdc
und darin befindet sich eine Datei namensDriver.class
.
Wird auf diese Datei in der Datei data-config.xml verwiesen? Wenn ja, warum wird das ursprüngliche Verzeichnis nicht erwähnt?
Grundsätzlich habe ich keine Ahnung woran das liegt, kann mir bitte jemand weiterhelfen.