diff --git a/pom.xml b/pom.xml index 78c5687ca..b1bbb6f73 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 1.0.0 - 2.0.1-SNAPSHOT + 2.1.0-SNAPSHOT 2.1.0 diff --git a/src/main/java/org/codelibs/fess/exec/SuggestCreator.java b/src/main/java/org/codelibs/fess/exec/SuggestCreator.java index a33e968de..1d2becfc3 100644 --- a/src/main/java/org/codelibs/fess/exec/SuggestCreator.java +++ b/src/main/java/org/codelibs/fess/exec/SuggestCreator.java @@ -118,6 +118,12 @@ public class SuggestCreator implements Serializable { } private int create() { + final DynamicProperties crawlerProperties = ComponentUtil.getCrawlerProperties(); + if (!Constants.TRUE.equals(crawlerProperties.getProperty(Constants.SUGGEST_DOCUMENTS_PROPERTY, Constants.TRUE))) { + logger.info("Skip create suggest document."); + return 0; + } + logger.info("Start create suggest document."); final AtomicInteger result = new AtomicInteger(1); diff --git a/src/main/java/org/codelibs/fess/helper/SuggestHelper.java b/src/main/java/org/codelibs/fess/helper/SuggestHelper.java index c9a44f2be..8236ff4ad 100644 --- a/src/main/java/org/codelibs/fess/helper/SuggestHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SuggestHelper.java @@ -39,7 +39,6 @@ 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.index.contents.document.DocumentReader; import org.codelibs.fess.suggest.index.contents.document.ESSourceReader; import org.codelibs.fess.suggest.settings.SuggestSettings; import org.codelibs.fess.suggest.util.SuggestUtil; @@ -69,6 +68,10 @@ public class SuggestHelper { public String[] contentsIndexFieldNames = { "content", "title" }; + public long updateRequestIntervalMills = 1; + + public int sourceReaderScrollSize = 1; + private static final String TEXT_SEP = " "; protected Suggester suggester; @@ -138,17 +141,14 @@ public class SuggestHelper { } final FessConfig fessConfig = ComponentUtil.getFessConfig(); - final DocumentReader reader = + final ESSourceReader reader = new ESSourceReader(fessEsClient, suggester.settings(), fessConfig.getIndexDocumentIndex(), fessConfig.getIndexDocumentType()); - - suggester.indexer().indexFromDocument(reader, 2, 100).then(response -> { + reader.setScrollSize(sourceReaderScrollSize); + suggester.indexer().indexFromDocument(reader, 2, updateRequestIntervalMills).then(response -> { suggester.refresh(); - - //TODO delete old doc - - success.accept(true); - }).error(t -> error.accept(t)); + success.accept(true); + }).error(t -> error.accept(t)); } public void purgeDocumentSuggest(final LocalDateTime time) { @@ -214,11 +214,11 @@ public class SuggestHelper { public void addElevateWord(final String word, final String reading, final String[] tags, final String roles, final float boost, final boolean commit) { - final List labelList = new ArrayList(); + final List labelList = new ArrayList<>(); for (final String label : tags) { labelList.add(label); } - final List roleList = new ArrayList(); + final List roleList = new ArrayList<>(); if (StringUtil.isNotBlank(roles)) { final String[] array = roles.trim().split(","); for (final String role : array) {