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) {