В ранних версиях (1.8.x) имелся расширенный поиск
Пример
Здесь было легко добавить свой перечень полей.
В пятой такого не увидел, хотя в конфигурационном файлике подобные настройки прописаны.
Как добавить новый фильтр?
+
Правка файла discovery.xml в
[dspace]/config/spring/api/
Ниже приведу исправленную часть:
Изменяем перечень фильтров:
<!--The search filters which can be used on the discovery search page-->
<property name="searchFilters">
<list>
<ref bean="searchFilterTitle" />
<ref bean="searchFilterAuthor" />
<ref bean="searchFilterSubject" />
<ref bean="searchFilterIssued" />
<ref bean="searchFilterNumber" />
</list>
</property>
Уточняем фильтр:
<!--Search filter configuration beans-->
<bean id="searchFilterTitle" class="org.dspace.discovery.configuration.DiscoverySearchFilter">
<property name="indexFieldName" value="title"/>
<property name="metadataFields">
<list>
<value>dc.title</value>
</list>
</property>
</bean>
<bean id="searchFilterNumber" class="org.dspace.discovery.configuration.DiscoverySearchFilter">
<property name="indexFieldName" value="number"/>
<property name="metadataFields">
<list>
<value>local.source.number</value>
</list>
</property>
</bean>
После єтого перезапускаем tomcat.
Выполяем команду
[dspace]/bin/dspace index-discovery -b
После этого можно уже будет проводить поиск, но в списке фильтров будет значение не из value, а строка
???jsp.search.filter.number???
Чтобы придать строке человекочитаемый смысл, следует исправить файл Messages.properties, дописав строку
jsp.search.filter.number = Number
Естественно и подправить файлики на локализаций. После такихдействий обязательно пересобрать (
Rebuild DSpace)
Редактировано 1 раз. Последний раз 10.02.2016 12:17 пользователем woodyfon.