diff --git a/.gitignore b/.gitignore
index fd211728d..ab44e3c2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,10 +28,11 @@
.vscode
.DS_Store
/plugins/
+/modules/
/tomcat.8080/
dbflute_fess/output/doc/lastadoc-fess.html
dbflute_fess/schema/project-lastadoc-fess.json
-src/main/resources/fess_indices/.fess_config.access_token/access_token.bulk
+src/main/resources/fess_indices/fess_config.access_token/access_token.bulk
src/main/resources/ga_client_secrets.p12
src/main/webapp/WEB-INF/project.properties
/.apt_generated/
diff --git a/module.xml b/module.xml
new file mode 100644
index 000000000..e45f50e62
--- /dev/null
+++ b/module.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugin.xml b/plugin.xml
index ed44955b9..5c35eccae 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -6,8 +6,6 @@
-
-
@@ -16,8 +14,8 @@
-
-
+
+
@@ -25,8 +23,8 @@
-
-
+
+
@@ -34,8 +32,8 @@
-
-
+
+
@@ -43,8 +41,8 @@
-
-
+
+
diff --git a/pom.xml b/pom.xml
index aeb6da901..a05181324 100644
--- a/pom.xml
+++ b/pom.xml
@@ -213,10 +213,12 @@
+
+
+
+
-
-
@@ -501,6 +503,17 @@
elasticsearch
+
+
+ directory
+ ${project.basedir}/modules
+
+ perm
+ ${packaging.fess.home.dir}/es/modules
+ ${packaging.fess.user}
+ ${packaging.fess.group}
+
+
directory
@@ -744,6 +757,15 @@
elasticsearch
elasticsearch
+
+
+ ${packaging.fess.home.dir}/es/modules
+
+
+ ${project.basedir}/modules
+
+
+
${packaging.fess.home.dir}/es/plugins
@@ -1003,6 +1025,62 @@
org.apache.httpcomponents
httpcore
+
+ org.opensearch.plugin
+ repository-url
+
+
+ org.opensearch.plugin
+ percolator-client
+
+
+ org.opensearch.plugin
+ reindex-client
+
+
+ org.opensearch.plugin
+ mapper-extras-client
+
+
+ org.opensearch.plugin
+ aggs-matrix-stats-client
+
+
+ org.opensearch.plugin
+ rank-eval-client
+
+
+ org.opensearch.plugin
+ lang-expression
+
+
+ org.opensearch.plugin
+ ingest-common
+
+
+ org.opensearch.plugin
+ ingest-user-agent
+
+
+ org.opensearch.plugin
+ lang-mustache-client
+
+
+ org.opensearch.plugin
+ lang-painless
+
+
+ org.opensearch.plugin
+ parent-join-client
+
+
+ org.opensearch.plugin
+ transport-netty4-client
+
+
+ org.opensearch.plugin
+ analysis-common
+
diff --git a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
index 319fecd75..1c20191bc 100644
--- a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
+++ b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
@@ -260,6 +260,12 @@ public class SearchEngineClient implements Client {
}
config.disableESLogger();
runner.onBuild((number, settingsBuilder) -> {
+ final File moduleDir = new File(esDir, "modules");
+ if (moduleDir.isDirectory()) {
+ settingsBuilder.put("path.modules", moduleDir.getAbsolutePath());
+ } else {
+ settingsBuilder.put("path.modules", new File(System.getProperty("user.dir"), "modules").getAbsolutePath());
+ }
final File pluginDir = new File(esDir, "plugins");
if (pluginDir.isDirectory()) {
settingsBuilder.put("path.plugins", pluginDir.getAbsolutePath());