Конфигурация Solr DIH Mysql

<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, flagged_by в schema.xml

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

2 ответа

Решение

Я считаю, что у вас есть столбец и имя поменялись местами в вашей конфигурации.

Вы также можете избавиться от конфигурации поля и изменить имя в SQL:

выберите uid как flagged_by из флага, где tweet_id='${tweets.id}'

Не знаю почему, но

<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" в подзапрос

Другие вопросы по тегам