我有一个Solr索引,其中嵌套字段的形式为
{ record: [
{ tag1: foo, tag2: bar }
]
}
不幸的是,无法更改solr配置。
在Blacklight中,我想在不同的字段下分别显示foo
和bar
,如下所示:
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中将一个这样的字段转换为多个字段?
答案 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