2010-06-27 90 views
9

我在通過Microsoft JDBC驅動程序讓Solr與Microsoft SQL Server對話時遇到問題。我已經註冊solrconfig.xml中的處理程序:Solr DataImportHandler與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> 

在數據-config.xml中我有一個數據源,並定義了文檔:

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

列是相當無關 - 我只是想從一些項目開始,包括日期欄。 Solr的schema.xml中有某些字段定義:

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

當我嘗試導入,日誌顯示異常建立數據源:

2010年6月26日下午10時24分48秒組織。 apache.solr.handler.dataimport.DataImporter doFullImport INFO:Starting Full Import Jun 26,2010 10:24:48 PM org.apache.solr.core.SolrCore execute INFO:[] webapp =/solr path =/select params = {clean = false & commit = true & command = full-import & qt =/dataimport} status = 0 QTime = 7 2010年6月26日下午10時24分48秒org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties 警告:無法讀取:dataimport.properties 2010年6月26日下午10時24分48秒org.apache。 solr.handler.dataimport.DataImporter doFullImport SEVERE:完全導入失敗 org.apache.solr.handler.dataimport.DataImportHandlerException:No dataSource:null可用於實體:成員處理文檔#1 at org.apache.solr.handler。 datagport.DataImporter.getDataSourceInstance(DataImporter.java:279) at org.apache.solr.handler.dataimport.ContextImpl.getDataSource(ContextImpl.java:93) at org.apache.solr.handler.dataimport.SqlEntityProcessor.init( SqlEntityProcessor.java:52) at org.apache.solr.handler.dataimport.EntityP rocessorWrapper.init(EntityProcessorWrapper.java:71) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:319) at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder。的java:242) 在org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) 在org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) 在org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) at org.apache.solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:370) Jun 26,2010 10:下午24:48 org.apache.solr.update.DirectUpdateHandler2回滾 信息:開始回滾 Jun 26,2010 10:24:48 PM org.apache.solr.update.DirectUpdateHan dler2 rollback INFO:end_rollback 2010年6月26日下午10點24分54秒org.apache.solr.core.SolrCore執行 信息:[] webapp =/solr path =/select params = {clean = false & commit = true &命令=狀態& QT =/dataimport}狀態= 0 QTIME = 0

我讀過了FAQ和文檔,看着許多人士的我能找到的,我只是不能讓過去這個錯誤。我究竟做錯了什麼?每當配置出現任何問題時,都會顯示錯誤「無法讀取:dataimport.properties」。我找不到我的錯誤。

回答

8

似乎數據源在實體聲明中未被識別,因爲要使用的正確屬性是dataSource而不是datasource

相關問題