Repository: incubator-unomi Updated Branches: refs/heads/feature-UNOMI-70-ES5X ca5c99011 -> e6ec7a042
UNOMI-70 : updated mappings, fixed aggregation and queries Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/e6ec7a04 Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/e6ec7a04 Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/e6ec7a04 Branch: refs/heads/feature-UNOMI-70-ES5X Commit: e6ec7a0425748a4fe7c0b4a05b63dfede2cc12c4 Parents: ca5c990 Author: Thomas Draier <[email protected]> Authored: Mon Dec 19 10:58:31 2016 +0100 Committer: Thomas Draier <[email protected]> Committed: Mon Dec 19 15:10:14 2016 +0100 ---------------------------------------------------------------------- .../META-INF/cxs/mappings/userList.json | 22 +- .../ElasticSearchPersistenceServiceImpl.java | 20 +- .../META-INF/cxs/mappings/actionType.json | 16 - .../META-INF/cxs/mappings/campaign.json | 28 +- .../META-INF/cxs/mappings/campaignevent.json | 25 +- .../META-INF/cxs/mappings/conditionType.json | 76 ----- .../resources/META-INF/cxs/mappings/event.json | 312 +------------------ .../resources/META-INF/cxs/mappings/goal.json | 22 +- .../META-INF/cxs/mappings/persona.json | 32 -- .../META-INF/cxs/mappings/personaSession.json | 56 ---- .../META-INF/cxs/mappings/profile.json | 27 +- .../META-INF/cxs/mappings/propertyType.json | 24 +- .../resources/META-INF/cxs/mappings/rule.json | 19 -- .../META-INF/cxs/mappings/scoring.json | 22 +- .../META-INF/cxs/mappings/segment.json | 22 +- .../META-INF/cxs/mappings/session.json | 24 +- .../PropertyConditionESQueryBuilder.java | 4 +- .../conditions/PropertyConditionEvaluator.java | 12 +- .../services/services/GoalsServiceImpl.java | 2 +- .../services/services/QueryServiceImpl.java | 2 +- 20 files changed, 47 insertions(+), 720 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/extensions/lists-extension/services/src/main/resources/META-INF/cxs/mappings/userList.json ---------------------------------------------------------------------- diff --git a/extensions/lists-extension/services/src/main/resources/META-INF/cxs/mappings/userList.json b/extensions/lists-extension/services/src/main/resources/META-INF/cxs/mappings/userList.json index 244d71a..53fd043 100644 --- a/extensions/lists-extension/services/src/main/resources/META-INF/cxs/mappings/userList.json +++ b/extensions/lists-extension/services/src/main/resources/META-INF/cxs/mappings/userList.json @@ -1,17 +1,5 @@ { "userList": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer" : "folding" - } - } - } - ], "properties": { "itemId": { "type": "keyword" @@ -21,10 +9,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -37,14 +21,14 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, "scope": { "type": "keyword" + }, + "tags": { + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java index 020d1d4..f1912bd 100644 --- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java +++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java @@ -1135,12 +1135,12 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, @Override public <T extends Item> List<T> query(final String fieldName, final String[] fieldValues, String sortBy, final Class<T> clazz) { - return query(QueryBuilders.termsQuery(fieldName, ConditionContextHelper.foldToASCII(fieldValues)), sortBy, clazz, 0, -1, getRouting(fieldName, fieldValues, clazz), null).getList(); + return query(QueryBuilders.termsQuery(fieldName, fieldValues), sortBy, clazz, 0, -1, getRouting(fieldName, fieldValues, clazz), null).getList(); } @Override public <T extends Item> PartialList<T> query(String fieldName, String fieldValue, String sortBy, Class<T> clazz, int offset, int size) { - return query(QueryBuilders.termQuery(fieldName, ConditionContextHelper.foldToASCII(fieldValue)), sortBy, clazz, offset, size, getRouting(fieldName, new String[]{fieldValue}, clazz), null); + return query(QueryBuilders.termQuery(fieldName, fieldValue), sortBy, clazz, offset, size, getRouting(fieldName, new String[]{fieldValue}, clazz), null); } @Override @@ -1243,12 +1243,16 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, requestBuilder = requestBuilder.addSort(distanceSortBuilder.order(SortOrder.ASC)); } } else { + String name = StringUtils.substringBeforeLast(sortByElement,":"); + if (name.equals("metadata.name") || name.equals("metadata.description") + || name.equals("properties.firstName") || name.equals("properties.lastName") + ) { + name += ".keyword"; + } if (sortByElement.endsWith(":desc")) { - requestBuilder = requestBuilder.addSort(sortByElement.substring(0, sortByElement.length() - ":desc".length()), SortOrder.DESC); - } else if (sortByElement.endsWith(":asc")) { - requestBuilder = requestBuilder.addSort(sortByElement.substring(0, sortByElement.length() - ":asc".length()), SortOrder.ASC); + requestBuilder = requestBuilder.addSort(name, SortOrder.DESC); } else { - requestBuilder = requestBuilder.addSort(sortByElement, SortOrder.ASC); + requestBuilder = requestBuilder.addSort(name, SortOrder.ASC); } } } @@ -1384,7 +1388,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, } for (DateRange range : dateRangeAggregate.getDateRanges()) { if (range != null) { - rangebuilder.addRange(range.getKey(), range.getFrom().toString(), range.getTo().toString()); + rangebuilder.addRange(range.getKey(), range.getFrom() != null ? range.getFrom().toString() : null, range.getTo() != null ? range.getTo().toString() : null); } } bucketsAggregation = rangebuilder; @@ -1636,7 +1640,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, new InClassLoaderExecute<Void>() { @Override protected Void execute(Object... args) { - QueryBuilder query = QueryBuilders.termQuery("scope", ConditionContextHelper.foldToASCII(scope)); + QueryBuilder query = QueryBuilders.termQuery("scope", scope); BulkRequestBuilder deleteByScope = client.prepareBulk(); http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/actionType.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/actionType.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/actionType.json deleted file mode 100644 index fa2f0ea..0000000 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/actionType.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "actionType": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ] - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json index efdcb3c..acd4b85 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json @@ -1,17 +1,5 @@ { "campaign": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "cost": { "type": "double" @@ -20,12 +8,10 @@ "type": "keyword" }, "startDate": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "endDate": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "itemId": { "type": "keyword" @@ -41,10 +27,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -57,9 +39,6 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, @@ -67,8 +46,7 @@ "type": "keyword" }, "tags": { - "type": "text", - "analyzer": "folding" + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json index f682e6a..7308995 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json @@ -1,17 +1,5 @@ { "campaignevent": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "campaignId": { "type": "keyword" @@ -23,8 +11,7 @@ "type": "keyword" }, "eventDate": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "itemId": { "type": "keyword" @@ -37,10 +24,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -53,14 +36,14 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, "scope": { "type": "keyword" + }, + "tags": { + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/conditionType.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/conditionType.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/conditionType.json deleted file mode 100644 index 702a9f1..0000000 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/conditionType.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "conditionType": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], - "properties" : { - "conditionEvaluator" : { - "type" : "keyword" - }, - "itemId" : { - "type" : "keyword" - }, - "itemType" : { - "type" : "keyword" - }, - "metadata" : { - "properties" : { - "description" : { - "type" : "text", - "analyzer" : "folding" - }, - "enabled" : { - "type" : "boolean" - }, - "hidden" : { - "type" : "boolean" - }, - "id" : { - "type" : "keyword" - }, - "missingPlugins" : { - "type" : "boolean" - }, - "name" : { - "type" : "keyword" - }, - "readOnly" : { - "type" : "boolean" - }, - "tags" : { - "type" : "text", - "analyzer" : "folding" - } - } - }, - "parameters" : { - "properties" : { - "defaultValue" : { - "type" : "keyword" - }, - "id" : { - "type" : "keyword" - }, - "multivalued" : { - "type" : "boolean" - }, - "type" : { - "type" : "keyword" - } - } - }, - "queryBuilder" : { - "type" : "keyword" - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/event.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/event.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/event.json index 939120d..c240b3b 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/event.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/event.json @@ -1,17 +1,5 @@ { "event": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "eventType": { "type": "keyword" @@ -25,17 +13,6 @@ "profileId": { "type": "keyword" }, - "properties": { - "properties": { - "src_terms[0]": { - "properties": { - "term": { - "type": "keyword" - } - } - } - } - }, "scope": { "type": "keyword" }, @@ -43,296 +20,9 @@ "type": "keyword" }, "timeStamp": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" - }, - "source": { - "properties": { - "eventType": { - "type": "keyword" - }, - "itemId": { - "type": "keyword" - }, - "itemType": { - "type": "keyword" - }, - "profileId": { - "type": "keyword" - }, - "properties": { - "properties": { - "pageInfo": { - "properties": { - "destinationURL": { - "type": "keyword" - }, - "language": { - "type": "keyword" - }, - "pageName": { - "type": "keyword" - }, - "pagePath": { - "type": "keyword" - }, - "referringURL": { - "type": "keyword" - }, - "variant": { - "type": "keyword" - } - } - } - } - }, - "scope": { - "type": "keyword" - }, - "sessionId": { - "type": "keyword" - }, - "source": { - "properties": { - "itemId": { - "type": "keyword" - }, - "itemType": { - "type": "keyword" - }, - "scope": { - "type": "keyword" - } - } - }, - "target": { - "properties": { - "itemId": { - "type": "keyword" - }, - "itemType": { - "type": "keyword" - }, - "properties": { - "properties": { - "pageInfo": { - "properties": { - "destinationURL": { - "type": "keyword" - }, - "language": { - "type": "keyword" - }, - "pageName": { - "type": "keyword" - }, - "pagePath": { - "type": "keyword" - }, - "referringURL": { - "type": "keyword" - }, - "variant": { - "type": "keyword" - } - } - } - } - }, - "scope": { - "type": "keyword" - } - } - }, - "timeStamp": { - "type": "date" - } - } - }, - "target": { - "properties": { - "campaignId": { - "type": "keyword" - }, - "duration": { - "type": "long" - }, - "itemId": { - "type": "keyword" - }, - "itemType": { - "type": "keyword" - }, - "metadata": { - "properties": { - "enabled": { - "type": "boolean" - }, - "hidden": { - "type": "boolean" - }, - "id": { - "type": "keyword" - }, - "missingPlugins": { - "type": "boolean" - }, - "name": { - "type": "keyword" - }, - "readOnly": { - "type": "boolean" - }, - "scope": { - "type": "keyword" - }, - "tags": { - "type": "text", - "analyzer": "folding", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - } - } - }, - "profile": { - "properties": { - "itemId": { - "type": "keyword" - }, - "itemType": { - "type": "keyword" - }, - "properties": { - "properties": { - "firstVisit": { - "type": "date" - } - } - } - } - }, - "profileId": { - "type": "keyword" - }, - "properties": { - "properties": { - "birthDate": { - "type": "date" - }, - "email": { - "type": "keyword" - }, - "faceBookId": { - "type": "keyword" - }, - "firstName": { - "type": "keyword" - }, - "gender": { - "type": "keyword" - }, - "goalId": { - "type": "keyword" - }, - "lastName": { - "type": "keyword" - }, - "leadAssignedTo": { - "type": "keyword" - }, - "nationality": { - "type": "keyword" - }, - "origin": { - "type": "keyword" - }, - "pageInfo": { - "properties": { - "destinationURL": { - "type": "keyword" - }, - "language": { - "type": "keyword" - }, - "pageName": { - "type": "keyword" - }, - "pagePath": { - "type": "keyword" - }, - "referringURL": { - "type": "keyword" - }, - "variant": { - "type": "keyword" - } - } - }, - "path": { - "type": "keyword" - }, - "phoneNumber": { - "type": "keyword" - }, - "randomNumber": { - "type": "long" - }, - "twitterId": { - "type": "keyword" - }, - "variantId": { - "type": "keyword" - }, - "workspace": { - "type": "keyword" - } - } - }, - "scope": { - "type": "keyword" - }, - "size": { - "type": "long" - }, - "startEvent": { - "properties": { - "parameterValues": { - "properties": { - "pagePath": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "targetEvent": { - "properties": { - "parameterValues": { - "properties": { - "pagePath": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "timeStamp": { - "type": "date" - } - } + "type": "date" } } } } - http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json index 7290220..081915b 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json @@ -1,17 +1,5 @@ { "goal": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "campaignId": { "type": "keyword" @@ -24,10 +12,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer" : "folding" - }, "enabled": { "type": "boolean" }, @@ -40,9 +24,6 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, @@ -50,8 +31,7 @@ "type": "keyword" }, "tags": { - "type": "text", - "analyzer": "folding" + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/persona.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/persona.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/persona.json deleted file mode 100644 index db9828b..0000000 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/persona.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "persona": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], - "properties" : { - "properties" : { - "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, - "firstName": { - "type": "keyword" - }, - "lastName": { - "type": "keyword" - } - } - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json index c54a860..cb26f1e 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json @@ -1,17 +1,5 @@ { "personaSession": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "duration" : { "type" : "long" @@ -35,20 +23,6 @@ }, "itemType" : { "type" : "keyword" - }, - "properties" : { - "properties" : { - "description" : { - "type" : "text", - "analyzer" : "folding" - }, - "firstName" : { - "type" : "keyword" - }, - "lastName" : { - "type" : "keyword" - } - } } } }, @@ -57,38 +31,8 @@ }, "properties" : { "properties" : { - "deviceCategory" : { - "type" : "keyword" - }, "location" : { "type" : "geo_point" - }, - "operatingSystemFamily" : { - "type" : "keyword" - }, - "operatingSystemName" : { - "type" : "keyword" - }, - "remoteAddr" : { - "type" : "keyword" - }, - "remoteHost" : { - "type" : "keyword" - }, - "sessionCity" : { - "type" : "keyword" - }, - "sessionCountryCode" : { - "type" : "keyword" - }, - "sessionCountryName" : { - "type" : "keyword" - }, - "userAgentName" : { - "type" : "keyword" - }, - "userAgentVersion" : { - "type" : "keyword" } } }, http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/profile.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/profile.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/profile.json index 9aba5d0..665941d 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/profile.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/profile.json @@ -1,17 +1,5 @@ { "profile": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "itemId": { "type": "keyword" @@ -21,23 +9,14 @@ }, "properties": { "properties": { - "j:nodename": { - "type": "keyword" - }, - "preferredLanguage": { - "type": "keyword" - }, "firstVisit": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "lastVisit": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "previousVisit": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "nbOfVisits": { "type": "long" http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json index c03111c..bdba719 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json @@ -1,17 +1,5 @@ { "propertyType": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "automaticMappingsFrom": { "type": "keyword" @@ -55,11 +43,14 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" + }, + "scope": { + "type": "keyword" + }, + "tags": { + "type": "keyword" } } }, @@ -86,8 +77,7 @@ "type": "double" }, "tags": { - "type": "text", - "analyzer": "folding" + "type": "keyword" }, "target": { "type": "keyword" http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json index 842181a..aad6029 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json @@ -1,17 +1,5 @@ { "rule": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "itemId": { "type": "keyword" @@ -21,10 +9,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -37,9 +21,6 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json index 70b2f8d..b46d7e2 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json @@ -1,17 +1,5 @@ { "scoring": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "itemId": { "type": "keyword" @@ -21,10 +9,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -37,9 +21,6 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, @@ -47,8 +28,7 @@ "type": "keyword" }, "tags": { - "type": "text", - "analyzer" : "folding" + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json index 2d25939..322ff19 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json @@ -1,17 +1,5 @@ { "segment": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "itemId": { "type": "keyword" @@ -21,10 +9,6 @@ }, "metadata": { "properties": { - "description": { - "type": "text", - "analyzer": "folding" - }, "enabled": { "type": "boolean" }, @@ -37,14 +21,14 @@ "missingPlugins": { "type": "boolean" }, - "name": { - "type": "keyword" - }, "readOnly": { "type": "boolean" }, "scope": { "type": "keyword" + }, + "tags": { + "type": "keyword" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/session.json ---------------------------------------------------------------------- diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/session.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/session.json index b0f6215..b1759a3 100644 --- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/session.json +++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/session.json @@ -1,17 +1,5 @@ { "session": { - "dynamic_templates": [ - { - "all": { - "match": "*", - "match_mapping_type": "text", - "mapping": { - "type": "text", - "analyzer": "folding" - } - } - } - ], "properties": { "duration": { "type": "long" @@ -23,8 +11,7 @@ "type": "keyword" }, "lastEventDate": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" }, "profileId": { "type": "keyword" @@ -43,12 +30,6 @@ "properties": { "location": { "type": "geo_point" - }, - "pageReferringURL": { - "type": "keyword" - }, - "referringURL": { - "type": "keyword" } } }, @@ -59,8 +40,7 @@ "type": "long" }, "timeStamp": { - "type": "date", - "format": "strict_date_optional_time||epoch_millis" + "type": "date" } } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionESQueryBuilder.java ---------------------------------------------------------------------- diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionESQueryBuilder.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionESQueryBuilder.java index c36722b..31aa0a3 100644 --- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionESQueryBuilder.java +++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionESQueryBuilder.java @@ -44,12 +44,12 @@ public class PropertyConditionESQueryBuilder implements ConditionESQueryBuilder throw new IllegalArgumentException("Impossible to build ES filter, condition is not valid, comparisonOperator and propertyName properties should be provided"); } - String expectedValue = ConditionContextHelper.foldToASCII((String) condition.getParameter("propertyValue")); + String expectedValue = (String) condition.getParameter("propertyValue"); Object expectedValueInteger = condition.getParameter("propertyValueInteger"); Object expectedValueDate = condition.getParameter("propertyValueDate"); Object expectedValueDateExpr = condition.getParameter("propertyValueDateExpr"); - List<?> expectedValues = ConditionContextHelper.foldToASCII((List<?>) condition.getParameter("propertyValues")); + List<?> expectedValues = (List<?>) condition.getParameter("propertyValues"); List<?> expectedValuesInteger = (List<?>) condition.getParameter("propertyValuesInteger"); List<?> expectedValuesDate = (List<?>) condition.getParameter("propertyValuesDate"); List<?> expectedValuesDateExpr = (List<?>) condition.getParameter("propertyValuesDateExpr"); http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java ---------------------------------------------------------------------- diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java index 68e58a6..d8b7754 100644 --- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java +++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java @@ -83,7 +83,7 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { return false; } - List<Object> actual = ConditionContextHelper.foldToASCII(getValueSet(actualValue)); + List<Object> actual = getValueSet(actualValue); boolean result = true; @@ -136,7 +136,7 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { String op = (String) condition.getParameter("comparisonOperator"); String name = (String) condition.getParameter("propertyName"); - String expectedValue = ConditionContextHelper.foldToASCII((String) condition.getParameter("propertyValue")); + String expectedValue = (String) condition.getParameter("propertyValue"); Object expectedValueInteger = condition.getParameter("propertyValueInteger"); Object expectedValueDate = condition.getParameter("propertyValueDate"); Object expectedValueDateExpr = condition.getParameter("propertyValueDateExpr"); @@ -165,9 +165,6 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { actualValue = null; } } - if (actualValue instanceof String) { - actualValue = ConditionContextHelper.foldToASCII((String) actualValue); - } if(op == null) { return false; @@ -178,9 +175,6 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { } else if (op.equals("equals")) { if (actualValue instanceof Collection) { for (Object o : ((Collection<?>)actualValue)) { - if (o instanceof String) { - o = ConditionContextHelper.foldToASCII((String) o); - } if (compare(o, expectedValue, expectedValueDate, expectedValueInteger, expectedValueDateExpr) == 0) { return true; } @@ -220,7 +214,7 @@ public class PropertyConditionEvaluator implements ConditionEvaluator { } else if (op.equals("matchesRegex")) { return expectedValue != null && Pattern.compile(expectedValue).matcher(actualValue.toString()).matches(); } else if (op.equals("in") || op.equals("notIn") || op.equals("hasSomeOf") || op.equals("hasNoneOf") || op.equals("all")) { - List<?> expectedValues = ConditionContextHelper.foldToASCII((List<?>) condition.getParameter("propertyValues")); + List<?> expectedValues = (List<?>) condition.getParameter("propertyValues"); List<?> expectedValuesInteger = (List<?>) condition.getParameter("propertyValuesInteger"); List<?> expectedValuesDate = (List<?>) condition.getParameter("propertyValuesDate"); List<?> expectedValuesDateExpr = (List<?>) condition.getParameter("propertyValuesDateExpr"); http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/services/src/main/java/org/apache/unomi/services/services/GoalsServiceImpl.java ---------------------------------------------------------------------- diff --git a/services/src/main/java/org/apache/unomi/services/services/GoalsServiceImpl.java b/services/src/main/java/org/apache/unomi/services/services/GoalsServiceImpl.java index 65553fb..a99f155 100644 --- a/services/src/main/java/org/apache/unomi/services/services/GoalsServiceImpl.java +++ b/services/src/main/java/org/apache/unomi/services/services/GoalsServiceImpl.java @@ -492,7 +492,7 @@ public class GoalsServiceImpl implements GoalsService, SynchronousBundleListener } if(aggregate == null){ - aggregate = new TermsAggregate(query.getAggregate().getProperty()); + aggregate = new TermsAggregate(query.getAggregate().getProperty() + ".keyword"); } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/e6ec7a04/services/src/main/java/org/apache/unomi/services/services/QueryServiceImpl.java ---------------------------------------------------------------------- diff --git a/services/src/main/java/org/apache/unomi/services/services/QueryServiceImpl.java b/services/src/main/java/org/apache/unomi/services/services/QueryServiceImpl.java index 33e4f47..79edd43 100644 --- a/services/src/main/java/org/apache/unomi/services/services/QueryServiceImpl.java +++ b/services/src/main/java/org/apache/unomi/services/services/QueryServiceImpl.java @@ -83,7 +83,7 @@ public class QueryServiceImpl implements QueryService { } // fall back on terms aggregate - return persistenceService.aggregateQuery(query.getCondition(), new TermsAggregate(property), itemType); + return persistenceService.aggregateQuery(query.getCondition(), new TermsAggregate(property + ".keyword"), itemType); } return getAggregate(itemType, property);
