diff --git a/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java b/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java index fbd54102ea87f858757e5b2c111b4d54e2e9a2f1..2267fe20da91359b440addf177bca7ff76e6e7a3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java @@ -35,8 +35,6 @@ import org.codelibs.fess.es.config.exbhv.RoleTypeBhv; import org.codelibs.fess.es.config.exbhv.WebConfigBhv; import org.codelibs.fess.es.config.exbhv.WebConfigToRoleBhv; import org.codelibs.fess.es.user.exbhv.RoleBhv; -import org.codelibs.fess.helper.SuggestHelper; -import org.codelibs.fess.util.ComponentUtil; import org.codelibs.fess.util.UpgradeUtil; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.IndicesOptions; @@ -213,7 +211,7 @@ public class AdminUpgradeAction extends FessAdminAction { // update mapping if (UpgradeUtil.addFieldMapping(indicesClient, searchLogIndex, "search_log", "virtualHost", "{\"properties\":{\"virtualHost\":{\"type\":\"keyword\"}}}")) { - UpgradeUtil.putMapping(indicesClient, searchLogIndex, "{\"dynamic_templates\": [" + UpgradeUtil.putMapping(indicesClient, searchLogIndex, "search_log", "{\"dynamic_templates\": [" + "{\"search_fields\": {\"path_match\": \"searchField.*\",\"mapping\": {\"type\": \"keyword\"}}}"// + "]}"); } @@ -232,31 +230,11 @@ public class AdminUpgradeAction extends FessAdminAction { private void upgradeFromAll() { final IndicesAdminClient indicesClient = fessEsClient.admin().indices(); final String crawlerIndex = fessConfig.getIndexDocumentCrawlerIndex(); - final String suggestIndex = ComponentUtil.getComponent(SuggestHelper.class).suggester().getIndex(); // .crawler if (UpgradeUtil.existsIndex(indicesClient, crawlerIndex, IndicesOptions.fromOptions(false, true, true, true))) { UpgradeUtil.deleteIndex(indicesClient, crawlerIndex, response -> {}); } - - // fess.suggest - if (UpgradeUtil.existsIndex(indicesClient, suggestIndex, IndicesOptions.fromOptions(false, true, true, true))) { - UpgradeUtil.deleteIndex(indicesClient, suggestIndex, response -> { - scheduledJobService.getScheduledJob("suggest_indexer").ifPresent(entity -> { - if (!entity.isEnabled() || entity.isRunning()) { - logger.warn("suggest_indexer job is running."); - return; - } - try { - entity.start(); - } catch (final Exception e) { - logger.warn("Failed to start suggest_indexer job.", e); - } - }).orElse(() -> { - logger.warn("No suggest_indexer job."); - }); - }); - } } private boolean startReindex(final boolean replaceAliases) { diff --git a/src/main/java/org/codelibs/fess/util/UpgradeUtil.java b/src/main/java/org/codelibs/fess/util/UpgradeUtil.java index d5d8d231de3018aee451c46fba4cac9b3500d1f7..15f5323476acc7b710ea59b4683c4a65ca9b15b2 100644 --- a/src/main/java/org/codelibs/fess/util/UpgradeUtil.java +++ b/src/main/java/org/codelibs/fess/util/UpgradeUtil.java @@ -30,6 +30,7 @@ import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRespon import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse; import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse; +import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequestBuilder; import org.elasticsearch.action.admin.indices.mapping.put.PutMappingResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.support.IndicesOptions; @@ -147,9 +148,16 @@ public final class UpgradeUtil { } public static boolean putMapping(final IndicesAdminClient indicesClient, final String index, final String source) { + return putMapping(indicesClient, index, null, source); + } + + public static boolean putMapping(final IndicesAdminClient indicesClient, final String index, final String type, final String source) { try { - final PutMappingResponse pmResponse = - indicesClient.preparePutMapping(index).setSource(source, XContentType.JSON).execute().actionGet(); + final PutMappingRequestBuilder builder = indicesClient.preparePutMapping(index).setSource(source, XContentType.JSON); + if (type != null) { + builder.setType(type); + } + final PutMappingResponse pmResponse = builder.execute().actionGet(); if (!pmResponse.isAcknowledged()) { logger.warn("Failed to update " + index + " settings."); } else {