【问题标题】:Indexing multiple entities in apache solr在 apache solr 中索引多个实体
【发布时间】:2015-10-06 18:53:23
【问题描述】:

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

这是我的 data-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 管理 UI 导入数据时,它只导入 analysis_source 实体。我尝试了不同的调整,但没有奏效。

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

How to index and search two different tables

【问题讨论】:

  • 尝试将“”更改为“
  • 感谢您的回复,我会尝试并回复您
  • 给出错误“初始化 QueryElevationComponent 时出错”
  • 更改为
  • 是的,但是当我检查日志文件时,它给出了查询错误,例如“从数据库读取数据时出错”,我最终通过将查询从“select * from analysis”更改为“select col1”来解决它,col2 来自分析”。可能 table 中有列,apche solr 无法读取该列

标签: php mysql solr


【解决方案1】:

我检查了日志文件,出现“从数据库读取错误”错误。 我将查询从“从分析中选择 *”更改为“从分析中选择 col1,col2”

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多