diff --git a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java
index 7cfd42e87bfb190983e0507eda6c635be45de32a..1382b823c56e325288c618ca92803b6f8e5afc3b 100644
--- a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java
+++ b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java
@@ -172,7 +172,7 @@ public class AdminKeymatchAction extends FessAdminAction {
                         copyOp.excludeNull();
                     });
                     form.crudMode = crudMode;
-                    docList.addAll(keyMatchHelper.getBoostedDocumentList(entity.getId(), entity.getTerm(), entity.getMaxSize()));
+                    docList.addAll(keyMatchHelper.getBoostedDocumentList(entity));
                 }).orElse(() -> {
                     throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
                 });
diff --git a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java
index b61b90c95e4b308a12af2b70136ddac7f825a29f..797d6b450c4fe36eac7ae56dcee17fb3855be217 100644
--- a/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java
+++ b/src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java
@@ -144,8 +144,7 @@ public class KeyMatchHelper {
         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);
         if (map != null) {
             return map;
@@ -154,27 +153,30 @@ public class KeyMatchHelper {
     }
 
     public void buildQuery(final List<String> keywordList, final List<FilterFunctionBuilder> list) {
+        final String key = ComponentUtil.getVirtualHostHelper().getVirtualHostKey();
         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) {
                 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 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) {
             return Collections.emptyList();
         }
         for (final Tuple3<String, QueryBuilder, ScoreFunctionBuilder<?>> pair : boostList) {
-            if (!id.equals(pair.getValue1())) {
+            if (!keyMatch.getId().equals(pair.getValue1())) {
                 continue;
             }
             final FessConfig fessConfig = ComponentUtil.getFessConfig();
             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;
             });
         }