使用 SolrEntityProcessor 时数据导入期间 Apache Solr 查询解析错误

Apache Solr Query Parse Error during data import when using SolrEntityProcessor

当我尝试导入 schooLocationDetails solr 核心时,出现以下错误。使用 Solr 5.3.1

处理时出现异常:opportunityDetails 文档:SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: 来自 http://: 的服务器错误@:/solr/locationCore: org.apache.solr.search.SyntaxError: 无法解析 'locationId:': 在第 1 行第 22 列遇到“”。

下面是我的数据-config.xml 的 solr 核心 schooLocationDetails。

<dataConfig>
<document>
<entity name="school" dataSource="datasource" query="select * from school_table" transformer="RegexTransformer">
<field column="recordKey" name="recordKey" />
<field column="name" name="name" /> 
<field column="location" name="location" /> 
<field column="title" name="title" />   
</entity>
<entity name="locationDetail" processor="SolrEntityProcessor" url="http://<solr-user>:<solr_pwd>@<solr_server>:<solr_port>/solr/locationCore" query="locationId:${school.location}" 
fl="*,old_version:_version_">

<field column="locationId" name="locationId" />
<field column="city" name="city" />
<field column="state" name="state" />
<field column="old_version" name="old_version" />
</entity>       
</document>  
</dataConfig>

您必须在另一个实体 中添加引用值 的实体。当它们是两个独立的实体时,它们不能相互引用值(它们将在彼此之后导入)。

<entity name="school" dataSource="datasource" query="select * from school_table" transformer="RegexTransformer">
    <field column="recordKey" name="recordKey" />
    <field column="name" name="name" /> 
    <field column="location" name="location" /> 
    <field column="title" name="title" />   

    <entity name="locationDetail" processor="SolrEntityProcessor" url="" query="locationId:${school.location}" 
  fl="*,old_version:_version_">
        <field column="locationId" name="locationId" />
        <field column="city" name="city" />
        <field column="state" name="state" />
        <field column="old_version" name="old_version" />
    </entity> 
</entity>