浏览代码

fix #1776 ignore exceptions from suggester

Shinsuke Sugaya 7 年之前
父节点
当前提交
e9d97a70e0
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. 8 3
      src/main/java/org/codelibs/fess/helper/SuggestHelper.java

+ 8 - 3
src/main/java/org/codelibs/fess/helper/SuggestHelper.java

@@ -43,6 +43,7 @@ import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.suggest.Suggester;
 import org.codelibs.fess.suggest.constants.FieldNames;
 import org.codelibs.fess.suggest.entity.SuggestItem;
+import org.codelibs.fess.suggest.exception.SuggestSettingsException;
 import org.codelibs.fess.suggest.index.SuggestDeleteResponse;
 import org.codelibs.fess.suggest.index.contents.document.ESSourceReader;
 import org.codelibs.fess.suggest.settings.SuggestSettings;
@@ -97,9 +98,13 @@ public class SuggestHelper {
         settingsBuilder.searchTimeout(fessConfig.getIndexSearchTimeout());
         suggester = Suggester.builder().settings(settingsBuilder).build(fessEsClient, fessConfig.getIndexDocumentSuggestIndex());
         suggester.settings().array().delete(SuggestSettings.DefaultKeys.SUPPORTED_FIELDS);
-        split(fessConfig.getSuggestFieldIndexContents(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).forEach(
-                        field -> suggester.settings().array().add(SuggestSettings.DefaultKeys.SUPPORTED_FIELDS, field)));
+        split(fessConfig.getSuggestFieldIndexContents(), ",").of(stream -> stream.filter(StringUtil::isNotBlank).forEach(field -> {
+            try {
+                suggester.settings().array().add(SuggestSettings.DefaultKeys.SUPPORTED_FIELDS, field);
+            } catch (final SuggestSettingsException e) {
+                logger.warn("Failed to add " + field, e);
+            }
+        }));
         suggester.createIndexIfNothing();
 
         final Set<String> undefinedAnalyzer = suggester.settings().analyzer().checkAnalyzer();