mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 10:04:21 +00:00
64809: Update discovery configuration indexing
This commit is contained in:
@@ -11,8 +11,10 @@ import java.sql.SQLException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.dspace.content.Collection;
|
import org.dspace.content.Collection;
|
||||||
import org.dspace.content.DSpaceObject;
|
import org.dspace.content.DSpaceObject;
|
||||||
@@ -140,26 +142,26 @@ public class SearchUtils {
|
|||||||
private static List<DiscoveryConfiguration> getAllDiscoveryConfigurations(String prefix,
|
private static List<DiscoveryConfiguration> getAllDiscoveryConfigurations(String prefix,
|
||||||
List<Collection> collections, Item item)
|
List<Collection> collections, Item item)
|
||||||
throws SQLException {
|
throws SQLException {
|
||||||
Map<String, DiscoveryConfiguration> result = new HashMap<String, DiscoveryConfiguration>();
|
Set<DiscoveryConfiguration> result = new HashSet<>();
|
||||||
|
|
||||||
for (Collection collection : collections) {
|
for (Collection collection : collections) {
|
||||||
DiscoveryConfiguration configuration = getDiscoveryConfiguration(prefix, collection);
|
DiscoveryConfiguration configuration = getDiscoveryConfiguration(prefix, collection);
|
||||||
if (!result.containsKey(configuration.getId())) {
|
result.add(configuration);
|
||||||
result.put(configuration.getId(), configuration);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Add alwaysIndex configurations
|
||||||
|
DiscoveryConfigurationService configurationService = getConfigurationService();
|
||||||
|
result.addAll(configurationService.getIndexAlwaysConfigurations());
|
||||||
|
|
||||||
//Also add one for the default
|
//Also add one for the default
|
||||||
addConfigurationIfExists(result, prefix);
|
addConfigurationIfExists(result, prefix);
|
||||||
|
|
||||||
return Arrays.asList(result.values().toArray(new DiscoveryConfiguration[result.size()]));
|
return Arrays.asList(result.toArray(new DiscoveryConfiguration[result.size()]));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void addConfigurationIfExists(Map<String, DiscoveryConfiguration> result, String confName) {
|
private static void addConfigurationIfExists(Set<DiscoveryConfiguration> result, String confName) {
|
||||||
DiscoveryConfiguration configurationExtra = getDiscoveryConfigurationByName(confName);
|
DiscoveryConfiguration configurationExtra = getDiscoveryConfigurationByName(confName);
|
||||||
if (!result.containsKey(configurationExtra.getId())) {
|
result.add(configurationExtra);
|
||||||
result.put(configurationExtra.getId(), configurationExtra);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -51,6 +51,15 @@ public class DiscoveryConfiguration implements InitializingBean {
|
|||||||
private DiscoveryHitHighlightingConfiguration hitHighlightingConfiguration;
|
private DiscoveryHitHighlightingConfiguration hitHighlightingConfiguration;
|
||||||
private DiscoveryMoreLikeThisConfiguration moreLikeThisConfiguration;
|
private DiscoveryMoreLikeThisConfiguration moreLikeThisConfiguration;
|
||||||
private boolean spellCheckEnabled;
|
private boolean spellCheckEnabled;
|
||||||
|
private boolean indexAlways = false;
|
||||||
|
|
||||||
|
public boolean isIndexAlways() {
|
||||||
|
return indexAlways;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIndexAlways(boolean indexAlways) {
|
||||||
|
this.indexAlways = indexAlways;
|
||||||
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.dspace.discovery.configuration;
|
package org.dspace.discovery.configuration;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -75,6 +76,17 @@ public class DiscoveryConfigurationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<DiscoveryConfiguration> getIndexAlwaysConfigurations() {
|
||||||
|
List<DiscoveryConfiguration> configs = new ArrayList<>();
|
||||||
|
for(String key : map.keySet()) {
|
||||||
|
DiscoveryConfiguration config = map.get(key);
|
||||||
|
if(config.isIndexAlways()) {
|
||||||
|
configs.add(config);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return configs;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println(DSpaceServicesFactory.getInstance().getServiceManager().getServicesNames().size());
|
System.out.println(DSpaceServicesFactory.getInstance().getServiceManager().getServicesNames().size());
|
||||||
DiscoveryConfigurationService mainService = DSpaceServicesFactory.getInstance().getServiceManager()
|
DiscoveryConfigurationService mainService = DSpaceServicesFactory.getInstance().getServiceManager()
|
||||||
|
@@ -516,6 +516,7 @@
|
|||||||
|
|
||||||
<bean id="publication" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
|
<bean id="publication" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
|
||||||
<property name="id" value="publication"/>
|
<property name="id" value="publication"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
@@ -586,6 +587,7 @@
|
|||||||
|
|
||||||
<bean id="person" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
|
<bean id="person" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
|
||||||
<property name="id" value="person"/>
|
<property name="id" value="person"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
@@ -649,6 +651,7 @@
|
|||||||
<bean id="organization" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
<bean id="organization" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
||||||
scope="prototype">
|
scope="prototype">
|
||||||
<property name="id" value="organization"/>
|
<property name="id" value="organization"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
@@ -713,6 +716,7 @@
|
|||||||
<bean id="publicationIssue" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
<bean id="publicationIssue" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
||||||
scope="prototype">
|
scope="prototype">
|
||||||
<property name="id" value="publicationIssue"/>
|
<property name="id" value="publicationIssue"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
@@ -773,6 +777,7 @@
|
|||||||
<bean id="publicationVolume" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
<bean id="publicationVolume" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
||||||
scope="prototype">
|
scope="prototype">
|
||||||
<property name="id" value="publicationVolume"/>
|
<property name="id" value="publicationVolume"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
@@ -832,6 +837,7 @@
|
|||||||
<bean id="periodical" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
<bean id="periodical" class="org.dspace.discovery.configuration.DiscoveryConfiguration"
|
||||||
scope="prototype">
|
scope="prototype">
|
||||||
<property name="id" value="periodical"/>
|
<property name="id" value="periodical"/>
|
||||||
|
<property name="indexAlways" value="true"/>
|
||||||
<!--Which sidebar facets are to be displayed-->
|
<!--Which sidebar facets are to be displayed-->
|
||||||
<property name="sidebarFacets">
|
<property name="sidebarFacets">
|
||||||
<list>
|
<list>
|
||||||
|
Reference in New Issue
Block a user