You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/01 10:51:24 UTC

[james-project] 03/06: JAMES-2917 Require ElasticSearch routing upon index

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 6129d92de7b091b82db85a873be383f1e834853a
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Oct 10 12:57:17 2019 +0700

    JAMES-2917 Require ElasticSearch routing upon index
---
 .../main/java/org/apache/james/backends/es/NodeMappingFactory.java  | 2 ++
 .../apache/james/mailbox/elasticsearch/MailboxMappingFactory.java   | 6 ++++++
 .../james/quota/search/elasticsearch/QuotaRatioMappingFactory.java  | 6 ++++++
 3 files changed, 14 insertions(+)

diff --git a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/NodeMappingFactory.java b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/NodeMappingFactory.java
index 2dfa375..05e15d4 100644
--- a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/NodeMappingFactory.java
+++ b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/NodeMappingFactory.java
@@ -41,6 +41,8 @@ public class NodeMappingFactory {
     public static final String TEXT = "text";
     public static final String KEYWORD = "keyword";
     public static final String PROPERTIES = "properties";
+    public static final String ROUTING = "_routing";
+    public static final String REQUIRED = "required";
     public static final String DATE = "date";
     public static final String FORMAT = "format";
     public static final String NESTED = "nested";
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/MailboxMappingFactory.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/MailboxMappingFactory.java
index 9494894..22d915f 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/MailboxMappingFactory.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/MailboxMappingFactory.java
@@ -32,6 +32,8 @@ import static org.apache.james.backends.es.NodeMappingFactory.NESTED;
 import static org.apache.james.backends.es.NodeMappingFactory.NORMALIZER;
 import static org.apache.james.backends.es.NodeMappingFactory.PROPERTIES;
 import static org.apache.james.backends.es.NodeMappingFactory.RAW;
+import static org.apache.james.backends.es.NodeMappingFactory.REQUIRED;
+import static org.apache.james.backends.es.NodeMappingFactory.ROUTING;
 import static org.apache.james.backends.es.NodeMappingFactory.SEARCH_ANALYZER;
 import static org.apache.james.backends.es.NodeMappingFactory.SNOWBALL;
 import static org.apache.james.backends.es.NodeMappingFactory.SPLIT_EMAIL;
@@ -87,6 +89,10 @@ public class MailboxMappingFactory {
 
                     .field("dynamic", "strict")
 
+                    .startObject(ROUTING)
+                        .field(REQUIRED, true)
+                    .endObject()
+
                     .startObject(PROPERTIES)
 
                         .startObject(MESSAGE_ID)
diff --git a/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/QuotaRatioMappingFactory.java b/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/QuotaRatioMappingFactory.java
index 41883f7..fc6ad52 100644
--- a/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/QuotaRatioMappingFactory.java
+++ b/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/QuotaRatioMappingFactory.java
@@ -22,6 +22,8 @@ package org.apache.james.quota.search.elasticsearch;
 import static org.apache.james.backends.es.NodeMappingFactory.DOUBLE;
 import static org.apache.james.backends.es.NodeMappingFactory.KEYWORD;
 import static org.apache.james.backends.es.NodeMappingFactory.PROPERTIES;
+import static org.apache.james.backends.es.NodeMappingFactory.REQUIRED;
+import static org.apache.james.backends.es.NodeMappingFactory.ROUTING;
 import static org.apache.james.backends.es.NodeMappingFactory.TYPE;
 import static org.apache.james.quota.search.elasticsearch.json.JsonMessageConstants.DOMAIN;
 import static org.apache.james.quota.search.elasticsearch.json.JsonMessageConstants.QUOTA_RATIO;
@@ -38,6 +40,10 @@ class QuotaRatioMappingFactory {
         try {
             return jsonBuilder()
                 .startObject()
+                    .startObject(ROUTING)
+                        .field(REQUIRED, true)
+                    .endObject()
+
                     .startObject(PROPERTIES)
 
                         .startObject(USER)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org