2010-06-27 104 views
9

Tôi gặp sự cố khi nhận Solr để nói chuyện với Microsoft SQL Server thông qua Trình điều khiển Microsoft JDBC. Tôi đã xử lý đăng ký tại solrconfig.xml:Solr DataImportHandler với 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> 

Trong dữ liệu config.xml Tôi có một nguồn dữ liệu và một tài liệu định nghĩa:

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

Các cột là khá thích hợp - Tôi chỉ muốn bắt đầu với một vài mục, bao gồm cột ngày. Các Solr schema.xml có một số lĩnh vực được xác định:

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

Khi tôi cố gắng một nhập khẩu, nhật ký cho thấy một ngoại lệ xây dựng nguồn dữ liệu:

26 tháng 6 năm 2010 22:24:48 org. apache.solr.handler.dataimport.DataImporter doFullImport THÔNG TIN: Bắt đầu nhập đầy đủ Jun 26, 2010 10:24:48 PM org.apache.solr.core.SolrCore thực thi THÔNG TIN: [] webapp =/solr path =/select params = {clean = false & commit = true & lệnh = full-import & qt =/dataimport} status = 0 QTime = 7 Jun 26, 2010 10:24:48 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties CẢNH BÁO: Không thể đọc: dataimport.properties Jun 26, 2010 10:24:48 PM org.apache. solr.handler.dataimport.DataImporter doFullImport SEVERE: Nhập đầy đủ không thành công org.apache.solr.handler.dataimport.DataImportHandlerException: Không có dữ liệuSource: null có sẵn cho thực thể: thành viên Tài liệu xử lý # 1 tại org.apache.solr.handler. dataimport.DataImporter.getDataSourceInstance (DataImporter.java:279) tại org.apache.solr.handler.dataimport.ContextImpl.getDataSource (ContextImpl.java:93) tại org.apache.solr.handler.dataimport.SqlEntityProcessor.init (SqlEntityProcessor.java:52) tại org.apache.solr.handler.dataimport.EntityP rocessorWrapper.init (EntityProcessorWrapper.java:71) tại org.apache.solr.handler.dataimport.DocBuilder.buildDocument (DocBuilder.java:319) tại org.apache.solr.handler.dataimport.DocBuilder.doFullDump (DocBuilder. java: 242) tại org.apache.solr.handler.dataimport.DocBuilder.execute (DocBuilder.java:180) tại org.apache.solr.handler.dataimport.DataImporter.doFullImport (DataImporter.java:331) tại org.apache.solr.handler.dataimport.DataImporter.runCmd (DataImporter.java:389) tại org.apache.solr.handler.dataimport.DataImporter $ 1.run (DataImporter.java:370) Jun 26, 2010 10: 24:48 PM org.apache.solr.update.DirectUpdateHandler2 rollback THÔNG TIN: bắt đầu khôi phục Jun 26, 2010 10:24:48 PM org.apache.solr.update.DirectUpdateHan dler2 rollback INFO: end_rollback Jun 26, 2010 10:24:54 PM org.apache.solr.core.SolrThực hiện THÔNG TIN: [] webapp =/solr path =/select params = {clean = false & commit = true & command = tình trạng & qt =/dataimport} status = 0 QTime = 0

tôi đã đọc FAQ và tài liệu, nhìn như nhiều nguồn như tôi có thể tìm thấy, và tôi chỉ không thể vượt qua này lỗi. Tôi đang làm gì sai? Lỗi "Không thể đọc: dataimport.properties" dường như được hiển thị bất kỳ lúc nào có bất kỳ sự cố nào với cấu hình. Tôi không thể tìm thấy sai lầm của mình.

Trả lời

8

Dường như nguồn dữ liệu không được nhận dạng trong khai báo thực thể vì thuộc tính thích hợp để sử dụng là dataSource, không phải datasource

Các vấn đề liên quan