2012-08-14 70 views
1

我Solr的数据导入config.xml文件看起来像这样有多个匹配的行Solr的数据导入只导入第一行

<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。我如何导入所有用户首选项?

回答

1
  1. 请确保pref_value在schema.xml中一个多值字段
  2. 我不-T认为你可以在内部使用实体和parentDeltaQuery deltaQuery,那些只是父之一。
+0

根据我的测试,您的第2项似乎是正确的,即使我在solr文档中没有找到任何描述... – 2015-09-02 06:46:37