我正在尝试从SQLServer加载到Solr。每次运行dataimport时,该进程在连接到数据库后都会挂起,并且永远不会完成。我没有在日志中看到任何有用的东西 - 任何想法都会很棒。 这是我的data-config.xml
<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 Browser正在运行并且启用了TCP / IP。如果我在dataimport UI中运行,我得到的唯一消息是该命令仍在运行,并且对数据源发出了一个请求。
连接字符串有问题吗? 我可以找到更多日志详细信息的地方吗?
答案 0 :(得分:0)
您是否使用DataImportHandler开发控制台查看是否有导入的数据?如果是,则重新检查schema.xml以查看是否存在所有字段。如果是这样,请尝试将batchSize设置为-1。
同时尝试url="jdbc:sqlserver://localhost:1433/MSSQLSERVER2;databaseName=dbo"