diff --git a/src/main/java/jp/sf/fess/action/admin/SystemAction.java b/src/main/java/jp/sf/fess/action/admin/SystemAction.java index 3c5a1baae..39051f28f 100644 --- a/src/main/java/jp/sf/fess/action/admin/SystemAction.java +++ b/src/main/java/jp/sf/fess/action/admin/SystemAction.java @@ -18,6 +18,7 @@ package jp.sf.fess.action.admin; import java.io.Serializable; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -65,6 +66,9 @@ public class SystemAction implements Serializable { @Resource protected SolrGroupManager solrGroupManager; + @Resource + protected SolrGroup suggestSolrGroup; + @Resource protected WebManagementHelper webManagementHelper; @@ -92,9 +96,24 @@ public class SystemAction implements Serializable { groupPropMap.put(groupName, props); } } + final DynamicProperties suggestProps = ComponentUtil + .getSolrGroupProperties(suggestSolrGroup.getGroupName()); + if (suggestProps != null) { + groupPropMap.put(suggestSolrGroup.getGroupName(), suggestProps); + } final String[] serverNames = solrGroupManager.getSolrServerNames(); - for (final String name : serverNames) { + final String[] suggestServerNames = suggestSolrGroup.getServerNames(); + for (int i = 0; i < suggestServerNames.length; i++) { + if (StringUtil.isNotBlank(suggestServerNames[i])) { + suggestServerNames[i] = suggestSolrGroup.getGroupName() + ":" + + suggestServerNames[i]; + } + } + final List serverNameList = new ArrayList(); + serverNameList.addAll(Arrays.asList(serverNames)); + serverNameList.addAll(Arrays.asList(suggestServerNames)); + for (final String name : serverNameList) { final String[] names = name.split(":"); if (names.length == 2) { final Map map = new HashMap(4); @@ -172,6 +191,11 @@ public class SystemAction implements Serializable { groupPropMap.put(groupName, props); } } + final DynamicProperties suggestProps = ComponentUtil + .getSolrGroupProperties(suggestSolrGroup.getGroupName()); + if (suggestProps != null) { + groupPropMap.put(suggestSolrGroup.getGroupName(), suggestProps); + } try { // server status diff --git a/src/main/java/jp/sf/fess/service/SearchService.java b/src/main/java/jp/sf/fess/service/SearchService.java index 68d2a191e..4b6ad96fb 100644 --- a/src/main/java/jp/sf/fess/service/SearchService.java +++ b/src/main/java/jp/sf/fess/service/SearchService.java @@ -61,7 +61,7 @@ public class SearchService implements Serializable { protected SolrGroupManager solrGroupManager; @Resource - SolrGroup suggestSolrGroup; + protected SolrGroup suggestSolrGroup; @Resource protected QueryHelper queryHelper; diff --git a/src/main/resources/fess_suggest.dicon b/src/main/resources/fess_suggest.dicon index c0ce49681..a77bfb500 100644 --- a/src/main/resources/fess_suggest.dicon +++ b/src/main/resources/fess_suggest.dicon @@ -51,7 +51,7 @@ - "suggestSolrServer" + "suggestSolrGroup" suggestSolrGroupProperties