在 apache solr 中索引多个实体

Indexing multiple entities in apache solr

我正在尝试将两个表(实体)从 mysql 索引到 apache solr。

这是我的数据-config.xml

<document name="analysis">
    <entity name="analysis" query="SELECT * FROM analysis">
        <field column="id" name="id" />
        <field column="doc_type" template="analysis" />
        <field column="nid" name="analysis_nid" template="analysis_${analysis.nid}" />
        <field column="sid" name="analysis_sid" template="analysis_${analysis.sid}" />
        <field column="headline" name="headline" />
    </entity>

    <entity name="analysis_source" transformer="TemplateTransformer"  query="select * from analysis_source limit 5">
        <field column="doc_id" template="analysis_source_${analysis_source.id}" name="doc_id"/>
        <field column="doc_type" template="analysis_source" name="doc_type" />
        <field column="nid" name="analysis_source_nid" template="analysis_source_${analysis_source.nid}" />
        <field column="sid" name="analysis_source_sid" template="analysis_source_${analysis_source.sid}" />
        <field column="tax_payer_name" name="tax_payer_name"/>
    </entity>
</document>

这是我的托管架构文件

<field name="id" type="int" indexed="true" stored="true" />
<field name="doc_type" type="string" indexed="true" stored="true" />

<field name="analysis_source_nid" type="int" indexed="true" stored="true" />
<field name="analysis_source_sid" type="int" indexed="true" stored="true"/>
<field name="tax_payer_name" type="string" indexed="true" stored="true"/>

<field name="analysis_nid" type="int" indexed="true" stored="true" />
<field name="analysis_sid" type="int" indexed="true" stored="true"/>
<field name="headline" type="string" indexed="true" stored="true"/>

<uniqueKey>doc_id</uniqueKey>

问题是每当我尝试从 solr admin UI 导入数据时,它只会导入 analysis_source 实体。我尝试了不同的调整但没有奏效。

我关注了 link 以将多个实体编入索引

How to index and search two different tables

我检查了日志文件,发现有错误 "reading from database error"。 我将查询从 "select * from analysis" 更改为 "select col1,col2 from analyis"

我想 apache solr 和 mysql 中列结构(数据类型)的兼容性存在问题。

因此需要牢记列数据类型。