|
@@ -15,7 +15,9 @@
|
|
*/
|
|
*/
|
|
package org.codelibs.fess.helper;
|
|
package org.codelibs.fess.helper;
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.annotation.PostConstruct;
|
|
|
|
|
|
@@ -137,4 +139,16 @@ public class LanguageHelper {
|
|
return new Script(buf.toString());
|
|
return new Script(buf.toString());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public String getReindexScriptSource() {
|
|
|
|
+ final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
|
|
|
+ String langField = fessConfig.getIndexFieldLang();
|
|
|
|
+ String code =
|
|
|
|
+ Arrays.stream(langFields).map(s -> "ctx._source['" + s + "_'+ctx._source." + langField + "]=ctx._source." + s)
|
|
|
|
+ .collect(Collectors.joining(";"));
|
|
|
|
+ if (logger.isDebugEnabled()) {
|
|
|
|
+ logger.debug("reindex script: {}", code);
|
|
|
|
+ }
|
|
|
|
+ return "if(ctx._source." + langField + "!=null){" + code + "}";
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|