2012-01-27 88 views
0

我想从SQLServer加载到Solr。每次运行数据导入时,进程在连接到数据库后都会挂起,并且永远不会结束。我在日志中没有看到任何有用的东西 - 任何想法都会很棒。 这是我的数据-config.xml中Solr DataImport挂起

 <dataConfig> <dataSource type="JdbcDataSource" 
      driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    url="jdbc:sqlserver://localhost\MSSQLSERVER2;databaseName=db_name;responseBuffering=adaptive;selectMethod=cursor" 
      user="username" 
      password="password" /> 
    <document name="profiles"> 
     <entity name="profile" query="SELECT * FROM dbo.tmp_SolrImport"> 
      <field column="ID" name="id" /> 
      <field column="type" name="type" /> 
      <field column="firstname" name="firstname" /> 
      <field column="lastname" name="lastname" /> 
      <field column="fullname" name="fullname" /> 
      <field column="interests" splitBy="|" sourceColName="interests"/> 
      <field column="skill" splitBy="|" sourceColName="skills"/> 
     </entity> 
     </document> 
    </dataConfig> 

这里就是我在日志文件中看到:

Jan 26, 2012 5:12:22 PM org.apache.solr.handler.dataimport.DataImportHandler processConfiguration 
INFO: Processing configuration from solrconfig.xml: {config=data-config.xml} 
Jan 26, 2012 5:12:22 PM org.apache.solr.handler.dataimport.DataImporter loadDataConfig 
INFO: Data Configuration loaded successfully 
Jan 26, 2012 5:12:22 PM org.apache.solr.handler.dataimport.DataImporter doFullImport 
INFO: Starting Full Import 
Jan 26, 2012 5:12:22 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties 
WARNING: Unable to read: dataimport.properties 
Jan 26, 2012 5:12:22 PM org.apache.solr.update.DirectUpdateHandler2 deleteAll 
INFO: [] REMOVING ALL DOCUMENTS FROM INDEX 
Jan 26, 2012 5:12:22 PM org.apache.solr.core.SolrDeletionPolicy onInit 
INFO: SolrDeletionPolicy.onInit: commits:num=1 
    commit{dir=C:\Program Files\Apache Software Foundation\Tomcat 7.0\solr\data\index,segFN=segments_5,version=1327527444614,generation=5,filenames=[_1.prx, _1.fdx, _1.tis, _1.frq, _1.fdt, _1.tii, segments_5, _1.fnm, _1.nrm] 
Jan 26, 2012 5:12:22 PM org.apache.solr.core.SolrDeletionPolicy updateCommits 
INFO: newest commit = 1327527444614 
Jan 26, 2012 5:12:22 PM org.apache.solr.handler.dataimport.JdbcDataSource$1 call 
INFO: Creating a connection for entity profile with URL: jdbc:sqlserver://localhost\MSSQLSERVER2;databaseName=db_name;responseBuffering=adaptive;selectMethod=cursor 

处理程序和配置文件似乎正确地加载和我已确认在SQL Server浏览器正在运行并启用了TCP/IP。如果我运行在dataimport UI中,唯一的消息是该命令仍在运行,并且对数据源发出一个请求。

连接字符串有问题吗? 任何地方我可以寻找更多的测井细节?

+0

我有同样的问题..您是否找到了解决方案? – mrmuggles 2012-07-06 18:50:54

+1

我发现问题(我的Java版本与SQL服务器驱动程序不兼容)请参阅http://stackoverflow.com/questions/8269038/solr-dataimporthandler-logs-into-sql-but-never-fetches-any-data – mrmuggles 2012-07-06 19:40:53

回答

0

你用DataImportHandler开发控制台检查是否有数据被发现导入?如果是这样,则重新检查schema.xml以查看是否存在所有字段。如果是这样,请尝试将batchSize设置为-1。

另请尝试url="jdbc:sqlserver://localhost:1433/MSSQLSERVER2;databaseName=dbo"

+0

我已经尝试了开发控制台,并且进程挂起...要么连接到数据库永远不会打开,要么不返回数据。由于日志中没有任何内容,我无法分辨。 – dieterkp 2012-01-30 14:17:22