首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Server的Solr DataImportHandler

使用Server的Solr DataImportHandler
EN

Stack Overflow用户
提问于 2010-06-27 21:19:35
回答 1查看 10.9K关注 0票数 10

我在让Solr通过Microsoft驱动程序与对话时遇到了问题。我在solrconfig.xml中注册了处理程序:

代码语言:javascript
复制
<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>

在data-config.xml中,我定义了一个数据源和一个文档:

代码语言:javascript
复制
<?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定义了一些字段:

代码语言:javascript
复制
<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 org.apache.solr.handler.dataimport.DataImporter doFullImport信息:启动全面进口6月26日,2010年10:24:48 PM org.apache.solr.core.SolrCore执行信息:[] webapp=/solr path=/select params={clean=false&commit=true&command=full-import&qt=/dataimport} status=0 QTime=7 Jun 26,2010 10:24:48 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties警告:无法阅读: dataimport.properties Jun 26,2010年10:24:48下午org.apache.solr.handler.dataimport.DataImporter doFullImport严厉:完全导入失败org.apache.solr.handler.dataimport.DataImportHandlerException: No dataSource :null可用于实体:成员处理文档#1在org.apache.solr.handler.dataimport.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)在org.apache.solr.handler.dataimport.EntityProcessorWrapper.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) at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:(331)在org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) Jun 26,2010年10:24:48 PM org.apache.solr.update.DirectUpdateHandler2回滚信息:启动回滚6月26日,2010年10:24:48 org.apache.solr.update.DirectUpdateHandler2回滚信息: end_rollback 6月26日,2010年10:24:54 PM org.apache.solr.core.SolrCore执行信息:[] webapp=/solr path=/select status=0 QTime=0

我已经阅读了常见问题和文档,查看了尽可能多的资料来源,但我就是无法克服这个错误。我做错了什么?“无法读取: dataimport.properties”错误似乎会在配置出现任何问题时显示出来。我找不到我的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-28 14:37:03

在实体声明中,似乎无法识别数据源,因为要使用的正确属性是dataSource,而不是datasource

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3128932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档