Solr DataImporter配置异常

时间:2010-11-09 22:08:20

标签: jdbc solr dataimporthandler

在使用JDBC SQLServerDriver配置Solr DataImportHandler连接到SQL Server后,启动Apache Solr Admin(Win7)会产生以下错误。 MS Sql JDBC Connector sqljdbc4.jar放在bin和Solr的lib文件夹中。

org.apache.solr.servlet.SolrDispatchFilter init
SEVERE: Could not start SOLR. Check solr/home property
org.apache.solr.common.SolrException: FATAL: Could not create importer. DataImporter config invalid
...
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Exception occurred while initializing context
 at ...
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog...

solrconfig.xml具有:

<requestHandler name="dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">data-config.xml</str>
    </lst>
</requestHandler>

data-config.xml是:

    <dataConfig>
        <dataSource type="JdbcDataSource" name="hy"
                    driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
                    url="jdbc:sqlserver://localhost;databaseName=test;responseBuffering=adaptive;" 
                    user="test"
                    password="test"
                    readOnly="true"/>

    <document name="listings">
        <entity name="listings" dataSource="hy" pk="ListID"
          query = "SELECT ListID, Description, PostDate FROM Listings"
          transformer="DateFormatTransformer">
            <field column="PostDate" name="PostDate" dateTimeFormat="yyyy-MM-dd" />
        </entity>
    </document>
</dataConfig>

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

在data-config.xml文件中删除多余的空格。

答案 1 :(得分:0)

您的requestHandler名称前面似乎需要一个“/”: <requestHandler name="/dataimport" ...

我希望这会有所帮助。