Przeglądaj źródła

Merge branch 'master' of https://github.com/codelibs/fess

Shinsuke Sugaya 9 lat temu
rodzic
commit
ab08ff0e92

+ 1 - 1
pom.xml

@@ -62,7 +62,7 @@
 		<crawler.version>1.0.0</crawler.version>
 
 		<!-- Suggest -->
-		<suggest.version>2.0.1-SNAPSHOT</suggest.version>
+		<suggest.version>2.1.0-SNAPSHOT</suggest.version>
 
 		<!-- Elasticsearch -->
 		<elasticsearch.version>2.1.0</elasticsearch.version>

+ 6 - 0
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);

+ 11 - 11
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<String> labelList = new ArrayList<String>();
+        final List<String> labelList = new ArrayList<>();
         for (final String label : tags) {
             labelList.add(label);
         }
-        final List<String> roleList = new ArrayList<String>();
+        final List<String> roleList = new ArrayList<>();
         if (StringUtil.isNotBlank(roles)) {
             final String[] array = roles.trim().split(",");
             for (final String role : array) {