首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr DataImportHandler外部表

Solr DataImportHandler外部表
EN

Stack Overflow用户
提问于 2017-03-02 23:16:49
回答 2查看 43关注 0票数 0

我构建了一个solr索引,如下所示:https://wiki.apache.org/solr/DataImportHandler

我在我的data-config.xml中使用了如下内容:

代码语言:javascript
复制
<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>

当查看我的数据库并测试键时,我得到了索引中的3行,但在solr- msp_articleText中只有第一行。

这是怎么回事?请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2017-03-02 23:37:39

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

代码语言:javascript
复制
Select * from msp_article ma, msp_articleText mat where mat.fk_articleId = ma.msp_article.id

然后将字段设置为

代码语言:javascript
复制
<field column="id" name="id"/>
<field column="title" name="docTitle"/>
<field column="orgRef" name="ref" />
<field column="content" name="textContent"/>

它应该是这样的:

代码语言:javascript
复制
<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个实体。

票数 0
EN

Stack Overflow用户

发布于 2017-03-02 23:55:48

谢谢,但这行得通吗?当我尝试它的时候,我得到了3行相同的id。id是solr的pk。

现在我使用SELECT GROUP_CONCAT( content ),因为内容太大了,所以我把它放在一个过程中

代码语言:javascript
复制
CREATE PROCEDURE `msp_bla`(IN con CHAR(20))
BEGIN
    SET SESSION group_concat_max_len = 1000000;
    SELECT GROUP_CONCAT(content) as content from msp_articleText WHERE fk_articleId = con group by fk_articleId;
END

在我的data-config.xml中,我使用

代码语言:javascript
复制
<entity name="text" query="call msp_bla('${article.id}')">

它是有效的,但我对此并不满意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42559170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档