0
<entity name="tw_tweet_user_merged" query="select * from tw_tweet_user_merged">
    <field column="id" name="id" />
    <field column="gender" name="gender" />
    <entity name="tw_flag" query="select moderator_id from tw_flag where tweet_id='${tw_tweet_user_merged.id}'">
        <field column="moderator_id" name="moderator_id" />
    </entity>
</entity>

这是我的 DIH data-config.xml,
它正在导入 id,user_id 但不是 uid,schema.xml 中的 flagged_by 是

<field name="moderator_id" type="text_general" indexed="true" stored="true" required="false" multiValued="true"/>
4

2 回答 2

1

我相信您的配置中的列和名称颠倒了。

您还可以摆脱字段配置并在 SQL 中更改名称:

选择 uid 作为 flagged_by from flag where tweet_id='${tweets.id}'

于 2013-12-06T17:33:06.410 回答
0

不知道为什么,但是

<entity name="tw_tweet_user_merged" query="select * from tw_tweet_user_merged">
    <field column="id" name="id" />
    <field column="gender" name="gender" />
    <entity name="tw_flag" query="select moderator_id as flagged from tw_flag where tweet_id='${tw_tweet_user_merged.id}'">
        <field column="moderator_id" name="moderator_id" />
    </entity>
</entity>

为我工作。只需在子查询中添加“ as someColName ”

于 2013-12-06T18:51:13.747 回答