2012-01-27 87 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