我正在使用dspace 4.x XMLUI版本。我想添加新的过滤器类型,如"学习材料类型","教育水平"等。在发现搜索过滤器列表中(不在侧栏方面)。我该怎么做?
答案 0 :(得分:3)
在[dspace-install-dir] /config/spring/api/discovery.xml中,您可以添加自定义搜索过滤器。例如,如果要为dc.type添加搜索过滤器,则应添加:
<bean id="searchFilterType" class="org.dspace.discovery.configuration.DiscoverySearchFilterFacet">
<property name="indexFieldName" value="type"/>
<property name="metadataFields">
<list>
<value>dc.type</value>
</list>
</property>
<property name="type" value="text"/>
<property name="sortOrder" value="VALUE"/>
</bean>
然后添加:
<ref bean="searchFilterType" />
到现有的searchFilters,例如:
<list>
<ref bean="searchFilterTitle" />
<ref bean="searchFilterAuthor" />
<ref bean="searchFilterSubject" />
<ref bean="searchFilterIssued" />
<ref bean="searchFilterType" />
</list>
确保在
中添加此内容<bean id="homepageConfiguration" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
如果您有此条目
<entry key="site" value-ref="homepageConfiguration" />
中的
<bean id="org.dspace.discovery.configuration.DiscoveryConfigurationService" class="org.dspace.discovery.configuration.DiscoveryConfigurationService">
修改sidebarFacets和searchFilters后,不要忘记 通过运行[dspace] / bin / dspace index-discovery重新索引现有项目 -b,否则不会出现更改。
请阅读文档中的Search filters & sidebar facets Customization了解更多详情。
<强>更新强>
要为searchFilters应用您自己的标签,请修改[dspace-install-dir]/webapps/xmlui/i18n/messages.xml
。
例如:
<message key="xmlui.ArtifactBrowser.SimpleSearch.filter.type">Type</message>
请注意,为确保下次重建时不会覆盖自定义消息,您应该存储&amp;在你的src树中管理它:
[dspace-source]/dspace/modules/xmlui/src/main/webapp/i18n/
,提到here。