mysql - Solr DataImportHandler 外部表

标签 mysql solr dataimporthandler

我已经建立了一个像这样的 solr 索引: https://wiki.apache.org/solr/DataImportHandler

我在 data-config.xml 中使用了类似的内容:

<entity name="article" pk="id" query="Select * from msp_article">
            <field column="id" name="id"/>
            <field column="title" name="docTitle"/>
            <field column="orgRef" name="ref" />
            <entity name="text" query="select content from msp_articleText where fk_articleId='${article.id}'">
                <field column="content" name="textContent"/>
            </entity>
        </entity>

当查看我的数据库并测试键时,我进入了 msp_articleText 3 行,但在 solr-index 中它只有第一行。

这里出了什么问题? 请帮忙

最佳答案

尝试使用如下所示的联接进行单个查询

Select * from msp_article ma, msp_articleText mat where mat.fk_articleId = ma.msp_article.id

然后有像

这样的字段
<field column="id" name="id"/>
<field column="title" name="docTitle"/>
<field column="orgRef" name="ref" />
<field column="content" name="textContent"/>

应该是这样的:

<entity name="article" pk="id" query="Select * from msp_article , msp_articleText where fk_articleId = msp_article.id">
            <field column="id" name="id"/>
            <field column="title" name="docTitle"/>
            <field column="orgRef" name="ref" />
            <field column="content" name="textContent"/>
</entity>

您可以根据需要构建自己的查询,我只是想传达这一点,而不是 2 个实体,而是选择一个将有联接查询的实体。

关于mysql - Solr DataImportHandler 外部表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559170/

相关文章:

mysql - lvm mysql备份

java - 在solr中添加自定义字段类型

solr - 使用 API 更改 SolrCloud 中的默认查询字段

lucene - 仅重新索引在 solr 停机期间更改的模型的最佳方法是什么?

mysql - Solr 日期变量解析器不适用于 MySql

mysql - MySQL数据删除后重置Auto_Increment值

php - 通过foreach循环插入多个表单域的数据

mysql - nodejs - stub 模块。使用 sinon 导出函数

mysql - 无法在 solr 中索引多值字段

solrnet - SOLR数据导入404错误