我需要使用元数据的组合对显示在XMLUI发现页面上的项目进行排序,因为所需的排序类型(特别是大小)使用了不同的元数据作为媒体参考类型(请参见图像,音频,视频)。 ..)。
希望根据文档对文件“ discovery.xml”采取行动,但指定了以下类型的Bean:
<bean id="sortSize" class="org.dspace.discovery.configuration.DiscoverySortFieldConfiguration">
<property name="metadataFields"/>
<list>
<value>METADATA_NAME_1</value>
<value>METADATA_NAME_2</value>
...
</list>
</property>
</bean>
索引编制失败。 这是因为只能指示这种类型的排序bean:
<bean id="sortSize" class="org.dspace.discovery.configuration.DiscoverySortFieldConfiguration">
<property name="metadataField" value="SINGLE_METADATA_NAME"/>
</bean>
是否可以创建一种与上述顺序相结合的组合顺序?如果是这样,我该如何操作?
提前谢谢!
答案 0 :(得分:2)
在DSpace的“发现”模块中,目前无法通过元数据列表进行排序。
DiscoverySortFieldConfiguration
仅支持单个metadataField
,如文档中所述:https://wiki.duraspace.org/display/DSDOC6x/Discovery#Discovery-Sortoptioncustomizationforsearchresults
您还可以看到代码本身仅支持一个字段:https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortFieldConfiguration.java#L17
答案 1 :(得分:1)
很容易。您应该尝试使用Dspace的order by子句。您使用什么版本?