【问题标题】:Unable to index multivalued field in solr无法在 solr 中索引多值字段
【发布时间】:2016-12-12 13:23:07
【问题描述】:

我正在从 solr 6.3 中的两个表(不相关的)mysql 中索引数据。其中一张表中很少有字段是多值的,而其余的则不是。现在,当我从 solr 管理面板运行 fullImport 时,它只索引多值字段的单个数据。我已经尝试实现 regextransformer 和 splitby "," 但没有奏效。我也尝试过使用子实体,但没有奏效。这是我的 data-config.xml 和 schema.xml。

【问题讨论】:

  • 查询正在获取正确数量的数据,但未完成字段 DESIGNATION 和 EXPERIENCE_SUMMARY 的索引,因此当我对其进行搜索时,不会返回任何结果。我也看到记录器没有例外。
  • 在您的代码中,您使用的是transformer=TemplateTransformer,但您需要RegexTransformer 才能使用splitBy="," - 所以它应该是<entity name="Candidates" transformer="TemplateTransformer,RegexTransformer"...>
  • 谢谢。它有效,但我还必须更改数据配置,将 sourceColName 替换为名称标签。
  • 我还有一个问题。目前我的数据配置文件中有两个实体。是否可以在不影响另一个实体的情况下对一个实体执行完全导入或增量导入?
  • 我不知道您将如何使用 DIH,但如果您使用客户端 API(请参阅cwiki.apache.org/confluence/display/solr/Client+API+Lineup),您可以使用 set 修饰符更新各个字段(请参阅cwiki.apache.org/confluence/display/solr/…

标签: mysql solr dataimporthandler solr6


【解决方案1】:

在您的代码中,您使用的是transformer=TemplateTransformer,但您需要RegexTransformer 才能使用splitBy="," - 所以它应该是:

<entity name="Candidates" transformer="TemplateTransformer,RegexTransformer"...>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    相关资源
    最近更新 更多