Wir versuchen, von Solr 3.6.2 auf Solr 4.2.1 zu aktualisieren und haben Probleme mit den Eigenschaften in solrcore.properties in data- Konfig.xml.Verwenden von Eigenschaften von solrcore.properties in der Datei "data-config.xml" (Solr 4.2.1)
Mit Solr 3.6.2 konnten wir direkt Eigenschaften verwenden, in solrcore.properties innerhalb Daten-config.xml wie:
<dataSource driver="${jdbc.driver}"
url="jdbc:mysql://${jdbc.host}:${jdbc.port}/${db.name}"
user="${jdbc.username}"
password="${jdbc.password}"
batchSize="-1" />
Nun sind diese Eigenschaften nicht gefunden werden, so dass, wenn ich es Datenimport aufrufen wirft diese Ausnahme:
Apr 26, 2013 11:10:58 AM org.apache.solr.common.SolrException log
SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:266)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:422)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:487)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:468)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:406)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:319)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:227)
... 3 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
at org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:114)
at org.apache.solr.handler.dataimport.JdbcDataSource.init(JdbcDataSource.java:62)
at org.apache.solr.handler.dataimport.DataImporter.getDataSourceInstance(DataImporter.java:394)
at org.apache.solr.handler.dataimport.ContextImpl.getDataSource(ContextImpl.java:99)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.init(SqlEntityProcessor.java:53)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:74)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:423)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:404)
... 5 more
Caused by: java.lang.ClassNotFoundException: Unable to load or org.apache.solr.handler.dataimport.
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:911)
at org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:112)
... 12 more
Caused by: org.apache.solr.common.SolrException: Error loading class ''
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:440)
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:901)
... 13 more
Caused by: java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424)
... 14 more
Wenn ich hart Code, um die Eigenschaften in Daten-config.xml, dann funktioniert der Import in Ordnung.
Beide Daten-config.xml und solrcore.properties sind unter dem Verzeichnis project_name/solr/app-cores/core_name/conf
Dann Hinweis nahm von here und versucht, die Eigenschaften in den Datenimport-Request-Handler in solr-config.xml wie folgt konfigurieren:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
<str name="jdbcDriver">${jdbc.driver}</str>
<str name="jdbcHost">${jdbc.host}</str>
<str name="jdbcPort">${jdbc.port}</str>
<str name="jdbcUsername">${jdbc.username}</str>
<str name="jdbcPassword">${jdbc.password}</str>
</lst>
</requestHandler>
und sie in Daten-config.xml wie {dataimport.jdbcDriver}
verwenden und {dataimport.request.jdbcDriver}
diejenigen aber, die gleiche Ausnahme werfen!
Wie behebt man das?
Ich hatte ein sehr ähnliches Problem und das hat den Trick! Warum antwortest du nicht deine eigene Frage (siehst du, wie du das schon gemacht hast)? – Aubergine