diff --git a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java index e33c30bd3..6714c01da 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java @@ -346,7 +346,7 @@ public class AdminBackupAction extends FessAdminAction { } }); } else { - final String index; + String index; final String filename; if (id.endsWith(".bulk")) { index = id.substring(0, id.length() - 5); @@ -355,9 +355,17 @@ public class AdminBackupAction extends FessAdminAction { index = id; filename = id + ".bulk"; } + if ("fess_config".equals(index)) { + index = fessConfig.getIndexConfigIndex(); + } else if ("fess_user".equals(index)) { + index = fessConfig.getIndexUserIndex(); + } else if ("fess_basic_config".equals(index) && !"fess_config".equals(fessConfig.getIndexConfigIndex())) { + index = "basic_" + fessConfig.getIndexConfigIndex(); + } + final String alias = index; return asStream(filename).contentTypeOctetStream().stream(out -> { try (final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out.stream(), Constants.CHARSET_UTF_8))) { - SearchEngineUtil.scroll(index, hit -> { + SearchEngineUtil.scroll(alias, hit -> { try { writer.write("{\"index\":{\"_index\":\"" + hit.getIndex() + "\",\"_id\":\"" + StringEscapeUtils.escapeJson(hit.getId()) + "\"}}\n"); diff --git a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java index 75ee350cd..550f39fed 100644 --- a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java +++ b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java @@ -647,7 +647,11 @@ public class SearchEngineClient implements Client { } } else if (index.startsWith(CONFIG_INDEX_PREFIX)) { final String name = fessConfig.getIndexConfigIndex(); - aliasName = aliasName.replaceFirst(Pattern.quote(CONFIG_INDEX_PREFIX), name); + if ("fess_basic_config".equals(aliasName) && !CONFIG_INDEX_PREFIX.equals(name)) { + aliasName = aliasName.replaceFirst("fess_basic_config", "basic_" + name); + } else { + aliasName = aliasName.replaceFirst(Pattern.quote(CONFIG_INDEX_PREFIX), name); + } } else if (index.startsWith(USER_INDEX_PREFIX)) { final String name = fessConfig.getIndexUserIndex(); aliasName = aliasName.replaceFirst(Pattern.quote(USER_INDEX_PREFIX), name);