Forráskód Böngészése

fix #2572 display url on virtualhost

Shinsuke Sugaya 4 éve
szülő
commit
9d885118a6

+ 1 - 1
src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java

@@ -172,7 +172,7 @@ public class AdminKeymatchAction extends FessAdminAction {
                         copyOp.excludeNull();
                         copyOp.excludeNull();
                     });
                     });
                     form.crudMode = crudMode;
                     form.crudMode = crudMode;
-                    docList.addAll(keyMatchHelper.getBoostedDocumentList(entity.getId(), entity.getTerm(), entity.getMaxSize()));
+                    docList.addAll(keyMatchHelper.getBoostedDocumentList(entity));
                 }).orElse(() -> {
                 }).orElse(() -> {
                     throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
                     throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
                 });
                 });

+ 9 - 7
src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java

@@ -144,8 +144,7 @@ public class KeyMatchHelper {
         this.reloadInterval = reloadInterval;
         this.reloadInterval = reloadInterval;
     }
     }
 
 
-    protected Map<String, List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>>> getQueryMap() {
-        final String key = ComponentUtil.getVirtualHostHelper().getVirtualHostKey();
+    protected Map<String, List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>>> getQueryMap(final String key) {
         final Map<String, List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>>> map = keyMatchQueryMap.get(key);
         final Map<String, List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>>> map = keyMatchQueryMap.get(key);
         if (map != null) {
         if (map != null) {
             return map;
             return map;
@@ -154,27 +153,30 @@ public class KeyMatchHelper {
     }
     }
 
 
     public void buildQuery(final List<String> keywordList, final List<FilterFunctionBuilder> list) {
     public void buildQuery(final List<String> keywordList, final List<FilterFunctionBuilder> list) {
+        final String key = ComponentUtil.getVirtualHostHelper().getVirtualHostKey();
         keywordList.stream().forEach(keyword -> {
         keywordList.stream().forEach(keyword -> {
-            final List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>> boostList = getQueryMap().get(toLowerCase(keyword));
+            final List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>> boostList = getQueryMap(key).get(toLowerCase(keyword));
             if (boostList != null) {
             if (boostList != null) {
                 boostList.forEach(pair -> list.add(new FilterFunctionBuilder(pair.getValue2(), pair.getValue3())));
                 boostList.forEach(pair -> list.add(new FilterFunctionBuilder(pair.getValue2(), pair.getValue3())));
             }
             }
         });
         });
     }
     }
 
 
-    public List<Map<String, Object>> getBoostedDocumentList(final String id, final String term, final int size) {
+    public List<Map<String, Object>> getBoostedDocumentList(final KeyMatch keyMatch) {
         final SearchEngineClient searchEngineClient = ComponentUtil.getSearchEngineClient();
         final SearchEngineClient searchEngineClient = ComponentUtil.getSearchEngineClient();
-        final List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>> boostList = getQueryMap().get(toLowerCase(term));
+        final List<Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>>> boostList =
+                getQueryMap(keyMatch.getVirtualHost()).get(toLowerCase(keyMatch.getTerm()));
         if (boostList == null) {
         if (boostList == null) {
             return Collections.emptyList();
             return Collections.emptyList();
         }
         }
         for (final Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>> pair : boostList) {
         for (final Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>> pair : boostList) {
-            if (!id.equals(pair.getValue1())) {
+            if (!keyMatch.getId().equals(pair.getValue1())) {
                 continue;
                 continue;
             }
             }
             final FessConfig fessConfig = ComponentUtil.getFessConfig();
             final FessConfig fessConfig = ComponentUtil.getFessConfig();
             return searchEngineClient.getDocumentList(fessConfig.getIndexDocumentSearchIndex(), searchRequestBuilder -> {
             return searchEngineClient.getDocumentList(fessConfig.getIndexDocumentSearchIndex(), searchRequestBuilder -> {
-                searchRequestBuilder.setPreference(Constants.SEARCH_PREFERENCE_LOCAL).setQuery(pair.getValue2()).setSize(size);
+                searchRequestBuilder.setPreference(Constants.SEARCH_PREFERENCE_LOCAL).setQuery(pair.getValue2())
+                        .setSize(keyMatch.getMaxSize());
                 return true;
                 return true;
             });
             });
         }
         }