在apache solr中索引多个实体

时间:2015-07-17 06:00:53

标签: php mysql solr

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

这是我的data-config.xml

$("#myselect").val("currentCity")

这是我的托管模式文件

<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>

问题是当我尝试从solr管理界面导入数据时,它只导入<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> 实体。我尝试了不同的调整,但没有奏效。

我按照以下链接将多个实体编入索引

How to index and search two different tables

1 个答案:

答案 0 :(得分:1)

我检查了日志文件,并且出现错误&#34;从数据库错误中读取错误&#34;。 我更改了我的查询&#34;从分析中选择*&#34; to&#34;从分析中选择col1,col2&#34;

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

所以需要记住列数据类型。