想要在dspace 4.x搜索过滤器方面添加自定义过滤器类型

时间:2015-02-22 11:57:10

标签: xml xslt dspace

我正在使用dspace 4.x XMLUI版本。我想添加新的过滤器类型,如"学习材料类型","教育水平"等。在发现搜索过滤器列表中(不在侧栏方面)。我该怎么做?

1 个答案:

答案 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