在Blacklight中显示相同solr标签的多个字段

时间:2019-10-23 10:48:38

标签: solr blacklight

我有一个Solr索引,其中嵌套字段的形式为

{ record: [
    { tag1: foo, tag2: bar }
  ]
}

不幸的是,无法更改solr配置。

在Blacklight中,我想在不同的字段下分别显示foobar,如下所示:

Tag1: foo
Tag2: bar

我当时想我可以使用config.add_index_field和一个辅助方法来实现此目的:

catalog_controller.rb
config.add_index_field 'record', label: 'Tag1', helper_method: :get_tag1
config.add_index_field 'record', label: 'Tag2', helper_method: :get_tag2
application_helper.rb
  def get_tag1(options={})
    options[:value][0]['tag1']
  end
  def get_tag2(options={})
    options[:value][0]['tag2']
  end

但是,这样做时出现错误A index_field with the key record already exists.

显然,我一次只能为一个Solr字段添加一个索引字段。如何在Blacklight中将一个这样的字段转换为多个字段?

1 个答案:

答案 0 :(得分:0)

找到了答案。我只需要添加字段变量以指向同一标签,就可以更改原始变量。

catalog_controller.rb
config.add_index_field 'record1', label: 'Tag1', field: 'record', helper_method: :get_tag1
config.add_index_field 'record2', label: 'Tag2', field: 'record', helper_method: :get_tag2