1

我的 solr 数据导入 config.xml 看起来像这样

<document>
      <entity name="users" pk="id"
         query="select id, user_name, site_id from users"
         deltaQuery = "select id from users where updated &gt;= '${dataimporter.last_index_time}'"
         deltaImportQuery = "select id, user_name, site_id from users where id = ${dataimporter.delta.id}">
         <field column="id" name="id"/>
         <field column="name" name="user_name"/>
         <field column="site_id" name="site_id"/>
         <entity name="prefs" pk="id"
               query="select pref_value from user_preferences where user_id = '${users.id}'"
               deltaQuery="select id from user_preferences where updated &gt;= '${dataimporter.last_index_time}'"
               parentDeltaQuery="select user_id as id from user_preferences where id = ${prefs.id}">
            <field column="pref_value" name="pref_value" />
         </entity>
      </entity>
   </document>

每个用户可以有多个偏好。现在它只导入它找到的第一个 user_preference。如何导入所有用户首选项?

4

1 回答 1

1
  1. 确保 pref_value 是 schema.xml 中的多值字段
  2. 我不认为您可以在内部实体中使用 parentDeltaQuery 和 deltaQuery,它们仅适用于父实体。
于 2012-08-15T08:36:34.110 回答