Sto riscontrando un problema nel far sì che Solr parli con Microsoft SQL Server tramite il driver Microsoft JDBC. Ho il gestore registrato in solrconfig.xml:Solr DataImportHandler con SQL Server
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">C:\Program Files\Apache Software Foundation\Tomcat 6.0\Solr\conf\data-config.xml</str>
</lst>
</requestHandler>
In data-config.xml ho una fonte di dati e di un documento definito:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" name="ds1"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost;databaseName=myDB;responseBuffering=adaptive;"
user="xxxx"
password="xxxx"
readOnly="true"
/>
<document name="members">
<entity name="member" datasource="ds1" pk="id"
query = "select
MemberID as id,
UserName as userName,
FirstName as firstName,
LastName as lastName,
Birthday as birthday,
PrimaryEmail as primaryEmail,
PersonalStatement as personalStatement
from member"
transformer="DateFormatTransformer">
<field column="Birthday" name="birthday" dateTimeFormat="yyyy-MM-dd" />
</entity>
</document>
</dataConfig>
Le colonne sono abbastanza irrilevanti - Volevo solo inizia con alcuni elementi, tra cui una colonna della data. Lo schema.xml Solr ha alcuni campi definiti:
<field name="id" type="tlong" indexed="true" stored="true" required="true" />
<field name="userName" type="text" indexed="true" stored="true" />
<field name="firstName" type="text" indexed="true" stored="true" />
<field name="lastName" type="text" indexed="true" stored="true" />
<field name="birthday" type="tdate" indexed="true" stored="true" />
<field name="primaryEmail" type="text" indexed="true" stored="true" />
<field name="personalStatement" type="text" indexed="true" stored="true" />
Quando tento un'importazione, il registro indica un'eccezione costruire l'origine dati:
26 giu, 2010 22:24:48 org. apache.solr.handler.dataimport.DataImporter doFullImport INFO: avvio dell'importazione completa Giu 26, 2010 10:24:48 PM org.apache.solr.core.SolrCore esecuzione INFO: [] webapp =/solr path =/select params = {clean = false & commit = true & command = full-import & qt =/dataimport} status = 0 QTime = 7 26 giu 2010 10:24:48 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties AVVISO: impossibile leggere: dataimport.properties 26 giu 2010 10:24:48 PM org.apache. solr.handler.dataimport.DataImporter doFullImport SEVERE: importazione completa non riuscita org.apache.solr.handler.dataimport.DataImportHandlerException: Nessuna origine dati: null disponibile per l'entità: membro Elaborazione documento n. 1 all'indirizzo org.apache.solr.handler. dataimport.DataImporter.getDataSourceInstance (DataImporter.java:279) in org.apache.solr.handler.dataimport.ContextImpl.getDataSource (ContextImpl.java:93) in org.apache.solr.handler.dataimport.SqlEntityProcessor.init (SqlEntityProcessor.java:52) presso org.apache.solr.handler.dataimport.EntityP rocessorWrapper.init (EntityProcessorWrapper.java:71) a org.apache.solr.handler.dataimport.DocBuilder.buildDocument (DocBuilder.java:319) a org.apache.solr.handler.dataimport.DocBuilder.doFullDump (DocBuilder. java: 242) in org.apache.solr.handler.dataimport.DocBuilder.execute (DocBuilder.java:180) in org.apache.solr.handler.dataimport.DataImporter.doFullImport (DataImporter.java:331) in org.apache.solr.handler.dataimport.DataImporter.runCmd (DataImporter.java:389) all'indirizzo org.apache.solr.handler.dataimport.DataImporter $ 1.run (DataImporter.java:370) 26 giu 2010 10: 24:48 PM org.apache.solr.update.DirectUpdateHandler2 rollback INFO: start rollback Giu 26, 2010 10:24:48 PM org.apache.solr.update.DirectUpdateHan dler2 rollback INFO: end_rollback Giu 26, 2010 10:24:54 PM org.apache.solr.core.SolrCore eseguito INFO: [] webapp =/solr percorso =/seleziona parametri = {clean = false & commit = true & comando = stato & qt =/dataimport} status = 0 QTIME = 0
ho letto le FAQ e la documentazione, visto come molte fonti come posso trovare, e io non riesco a superare questo errore. Che cosa sto facendo di sbagliato? L'errore "Impossibile leggere: dataimport.properties" sembra essere mostrato ogni volta che si verifica un problema con la configurazione. Non riesco a trovare il mio errore