2010-06-27 15 views
9

estoy teniendo problemas para conseguir Solr para hablar con Microsoft SQL Server a través del controlador JDBC de Microsoft. He el controlador registrado en 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> 

En los datos-config.xml tengo una fuente de datos y un documento definido:

<?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> 

Las columnas son bastante irrelevantes - Sólo quería comience con algunos artículos, incluida una columna de fecha. Schema.xml Solr tiene algunos campos definidos:

<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" /> 

Cuando intento una importación, el registro muestra una excepción construcción de la fuente de datos:

26 Jun, 2010 10:24:48 PM org. apache.solr.handler.dataimport.DataImporter doFullImport INFORMACIÓN: Inicio de la importación completa 26 de junio de 2010 10:24:48 PM org.apache.solr.core.SolrCore execute INFORMACIÓN: [] webapp =/ruta_solar =/select params = {limpia = false & cometen = true & comando =-importación completa & qt =/dataimport} estado = 0 QTIME = 7 26 de junio 2010 10:24:48 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties ADVERTENCIA: no se puede leer: dataimport.properties 26 de junio 2010 10:24:48 PM org.apache. solr.handler.dataimport.DataImporter doFullImport SEVERE: Falló la importación completa org.apache.solr.handler.dataimport.DataImportHandlerException: No dataSource: null disponible para la entidad: member Documento de procesamiento n. ° 1 en org.apache.solr.handler. dataimport.DataImporter.getDataSourceInstance (DataImporter.java:279) en org.apache.solr.handler.dataimport.ContextImpl.getDataSource (ContextImpl.java:93) en org.apache.solr.handler.dataimport.SqlEntityProcessor.init (SqlEntityProcessor.java:52) en org.apache.solr.handler.dataimport.EntityP rocessorWrapper.init (EntityProcessorWrapper.java:71) en org.apache.solr.handler.dataimport.DocBuilder.buildDocument (DocBuilder.java:319) en org.apache.solr.handler.dataimport.DocBuilder.doFullDump (DocBuilder. java: 242) en org.apache.solr.handler.dataimport.DocBuilder.execute (DocBuilder.java:180) en org.apache.solr.handler.dataimport.DataImporter.doFullImport (DataImporter.java:331) en org.apache.solr.handler.dataimport.DataImporter.runCmd (DataImporter.java:389) en org.apache.solr.handler.dataimport.DataImporter $ 1.run (DataImporter.java:370) 26 de junio de 2010 10: 24:48 PM org.apache.solr.update.DirectUpdateHandler2 rollback INFORMACIÓN: iniciar la reversión Jun 26 de, 2010 10:24:48 PM org.apache.solr.update.DirectUpdateHan dler2 rollback INFORMACIÓN: end_rollback 26 de junio de 2010 10:24:54 PM org.apache.solr.core.SolrCore execute INFORMACIÓN: [] webapp =/ruta de acceso de solr =/select params = {clean = false & commit = true & comando = estado de & qt =/dataimport} estado = 0 QTIME = 0

he leído el FAQ y documentación, visto como muchas fuentes que puedo encontrar, y que no puedo superar esto error. ¿Qué estoy haciendo mal? El error "No se puede leer: dataimport.properties" parece mostrarse cada vez que hay algún problema con la configuración. No puedo encontrar mi error

Respuesta

8

Parece que el origen de datos no se reconoce en la declaración de entidad porque el atributo adecuado a utilizar es dataSource, no datasource