You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/23 03:51:17 UTC
[james-project] 03/10: MAILBOX-403 From, To, Cc,
Bcc fields do not need to be nested
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c83d74a53d2eab20369eae0c386d9652b5f8c349
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Dec 22 08:41:45 2020 +0700
MAILBOX-403 From, To, Cc, Bcc fields do not need to be nested
Nested fields leads to the indexation of extra documents
---
.../james/mailbox/elasticsearch/MailboxMappingFactory.java | 4 ----
.../james/mailbox/elasticsearch/query/CriterionConverter.java | 10 ++++------
.../james/mailbox/elasticsearch/query/SortConverter.java | 11 +++++------
3 files changed, 9 insertions(+), 16 deletions(-)
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 629f292..088a288 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
@@ -159,7 +159,6 @@ public class MailboxMappingFactory {
.endObject()
.startObject(FROM)
- .field(TYPE, NESTED)
.startObject(PROPERTIES)
.startObject(EMailer.NAME)
.field(TYPE, TEXT)
@@ -210,7 +209,6 @@ public class MailboxMappingFactory {
.endObject()
.startObject(TO)
- .field(TYPE, NESTED)
.startObject(PROPERTIES)
.startObject(EMailer.NAME)
.field(TYPE, TEXT)
@@ -237,7 +235,6 @@ public class MailboxMappingFactory {
.endObject()
.startObject(CC)
- .field(TYPE, NESTED)
.startObject(PROPERTIES)
.startObject(EMailer.NAME)
.field(TYPE, TEXT)
@@ -264,7 +261,6 @@ public class MailboxMappingFactory {
.endObject()
.startObject(BCC)
- .field(TYPE, NESTED)
.startObject(PROPERTIES)
.startObject(EMailer.NAME)
.field(TYPE, TEXT)
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
index 8937807..031dd47 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
@@ -278,12 +278,10 @@ public class CriterionConverter {
}
private QueryBuilder manageAddressFields(String headerName, String value) {
- return nestedQuery(getFieldNameFromHeaderName(headerName),
- boolQuery()
- .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.NAME, value))
- .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.ADDRESS, value))
- .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.ADDRESS + "." + RAW, value)),
- ScoreMode.Avg);
+ return boolQuery()
+ .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.NAME, value))
+ .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.ADDRESS, value))
+ .should(matchQuery(getFieldNameFromHeaderName(headerName) + "." + JsonMessageConstants.EMailer.ADDRESS + "." + RAW, value));
}
private String getFieldNameFromHeaderName(String headerName) {
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/SortConverter.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/SortConverter.java
index 29323b7..0dcc02c 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/SortConverter.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/SortConverter.java
@@ -23,7 +23,6 @@ import org.apache.james.backends.es.NodeMappingFactory;
import org.apache.james.mailbox.elasticsearch.json.JsonMessageConstants;
import org.apache.james.mailbox.model.SearchQuery;
import org.elasticsearch.search.sort.FieldSortBuilder;
-import org.elasticsearch.search.sort.NestedSortBuilder;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortMode;
import org.elasticsearch.search.sort.SortOrder;
@@ -44,13 +43,13 @@ public class SortConverter {
return SortBuilders.fieldSort(JsonMessageConstants.DATE);
case MailboxCc :
return SortBuilders.fieldSort(JsonMessageConstants.CC + PATH_SEPARATOR + JsonMessageConstants.EMailer.ADDRESS
- + PATH_SEPARATOR + NodeMappingFactory.RAW).setNestedSort(new NestedSortBuilder(JsonMessageConstants.CC));
+ + PATH_SEPARATOR + NodeMappingFactory.RAW);
case MailboxFrom :
return SortBuilders.fieldSort(JsonMessageConstants.FROM + PATH_SEPARATOR + JsonMessageConstants.EMailer.ADDRESS
- + PATH_SEPARATOR + NodeMappingFactory.RAW).setNestedSort(new NestedSortBuilder(JsonMessageConstants.FROM));
+ + PATH_SEPARATOR + NodeMappingFactory.RAW);
case MailboxTo :
return SortBuilders.fieldSort(JsonMessageConstants.TO + PATH_SEPARATOR + JsonMessageConstants.EMailer.ADDRESS
- + PATH_SEPARATOR + NodeMappingFactory.RAW).setNestedSort(new NestedSortBuilder(JsonMessageConstants.TO));
+ + PATH_SEPARATOR + NodeMappingFactory.RAW);
case BaseSubject :
return SortBuilders.fieldSort(JsonMessageConstants.SUBJECT + PATH_SEPARATOR + NodeMappingFactory.RAW);
case Size :
@@ -61,10 +60,10 @@ public class SortConverter {
return SortBuilders.fieldSort(JsonMessageConstants.UID);
case DisplayFrom:
return SortBuilders.fieldSort(JsonMessageConstants.FROM + PATH_SEPARATOR + JsonMessageConstants.EMailer.NAME
- + PATH_SEPARATOR + NodeMappingFactory.RAW).setNestedSort(new NestedSortBuilder(JsonMessageConstants.FROM));
+ + PATH_SEPARATOR + NodeMappingFactory.RAW);
case DisplayTo:
return SortBuilders.fieldSort(JsonMessageConstants.TO + PATH_SEPARATOR + JsonMessageConstants.EMailer.NAME
- + PATH_SEPARATOR + NodeMappingFactory.RAW).setNestedSort(new NestedSortBuilder(JsonMessageConstants.TO));
+ + PATH_SEPARATOR + NodeMappingFactory.RAW);
case Id:
return SortBuilders.fieldSort(JsonMessageConstants.MESSAGE_ID);
default:
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org