【问题标题】:Solr data import with multiple matching rows only imports first row具有多个匹配行的 Solr 数据导入仅导入第一行
【发布时间】:2012-08-14 20:53:24
【问题描述】:

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

【问题讨论】:

    标签: solr lucene dataimporthandler


    【解决方案1】:
    1. 确保 pref_value 是 schema.xml 中的多值字段
    2. 我不认为您可以在内部实体中使用 parentDeltaQuery 和 deltaQuery,它们仅适用于父实体。

    【讨论】:

    • 根据我的测试,您的第二项似乎是真的,即使我在 solr 文档中没有找到任何描述......
    猜你喜欢
    • 2019-10-17
    • 2016-10-11
    • 2013-09-16
    • 2018-03-25
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多