1

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

4

1 回答 1

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来重新索引已有的item,否则变化不会出现。

请阅读文档中的搜索过滤器和侧边栏方面自定义以获取更多详细信息。

更新

要为 searchFilters 应用您自己的标签,请编辑您的[dspace-install-dir]/webapps/xmlui/i18n/messages.xml. 例子:

    <message key="xmlui.ArtifactBrowser.SimpleSearch.filter.type">Type</message>

请注意,为确保您的自定义消息在下次重建时不会被覆盖,您应该在您的 src 树中存储和管理它:这里
[dspace-source]/dspace/modules/xmlui/src/main/webapp/i18n/
提到

于 2015-02-22T12:55:28.523 回答