2012-08-14 73 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