You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by jk...@apache.org on 2023/02/03 16:59:40 UTC

[unomi] branch reduceIndicesItems2 created (now e8ac4a522)

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

jkevan pushed a change to branch reduceIndicesItems2
in repository https://gitbox.apache.org/repos/asf/unomi.git


      at e8ac4a522 small fix

This branch includes the following new commits:

     new 695c955d5 DMF-5757: merge all item indices into same index for reducing number of indices
     new e0583a889 fix bad merge
     new e8ac4a522 small fix

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[unomi] 03/03: small fix

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch reduceIndicesItems2
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit e8ac4a522321127f0cd033397a455c63850a1d24
Author: Kevan <ke...@jahia.com>
AuthorDate: Wed Feb 1 14:46:09 2023 +0100

    small fix
---
 .../elasticsearch/ElasticSearchPersistenceServiceImpl.java            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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 a4a8f7019..e26f76ad4 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
@@ -253,7 +253,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
 
     private Map<String, Map<String, Map<String, Object>>> knownMappings = new HashMap<>();
 
-    private static Map<String, String> itemTypeIndexNameMap = new ConcurrentHashMap<>();
+    private static final Map<String, String> itemTypeIndexNameMap = new ConcurrentHashMap<>();
     static {
         // metadata items
         itemTypeIndexNameMap.put("actionType", "item");
@@ -2650,7 +2650,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
     }
 
     private QueryBuilder getItemTypeQueryBuilder(String itemType) {
-        return QueryBuilders.termQuery("itemType", itemType);
+        return QueryBuilders.termQuery("itemType", ConditionContextHelper.foldToASCII(itemType));
     }
 
     private boolean isItemTypeSharingIndex(String itemType) {


[unomi] 01/03: DMF-5757: merge all item indices into same index for reducing number of indices

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch reduceIndicesItems2
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 695c955d5b8c01d2cfa11c504b2fe94ed69b441f
Author: Kevan <ke...@jahia.com>
AuthorDate: Wed Feb 1 10:20:01 2023 +0100

    DMF-5757: merge all item indices into same index for reducing number of indices
---
 .../actions/listener/GroovyActionListener.java     |   9 --
 .../META-INF/cxs/mappings/groovyAction.json        |  28 ----
 .../unomi/schema/impl/SchemaServiceImpl.java       |   9 --
 .../ElasticSearchPersistenceServiceImpl.java       |  87 +++++++++++--
 .../META-INF/cxs/mappings/actionType.json          |  20 ---
 .../resources/META-INF/cxs/mappings/campaign.json  |  51 --------
 .../META-INF/cxs/mappings/campaignevent.json       |  44 -------
 .../META-INF/cxs/mappings/conditionType.json       |  26 ----
 .../META-INF/cxs/mappings/exportConfig.json        |  20 ---
 .../main/resources/META-INF/cxs/mappings/goal.json |  46 -------
 .../META-INF/cxs/mappings/importConfig.json        |  20 ---
 .../main/resources/META-INF/cxs/mappings/item.json | 141 +++++++++++++++++++++
 .../META-INF/cxs/mappings/jsonschema.json          |  25 ----
 .../resources/META-INF/cxs/mappings/patch.json     |  38 ------
 .../resources/META-INF/cxs/mappings/persona.json   |  38 ------
 .../META-INF/cxs/mappings/personaSession.json      |  41 ------
 .../META-INF/cxs/mappings/propertyType.json        |  61 ---------
 .../main/resources/META-INF/cxs/mappings/rule.json |  62 ---------
 .../resources/META-INF/cxs/mappings/rulestats.json |  20 ---
 .../resources/META-INF/cxs/mappings/scope.json     |  22 ----
 .../resources/META-INF/cxs/mappings/scoring.json   |  46 -------
 .../resources/META-INF/cxs/mappings/segment.json   |  42 ------
 .../resources/META-INF/cxs/mappings/topic.json     |  20 ---
 23 files changed, 217 insertions(+), 699 deletions(-)

diff --git a/extensions/groovy-actions/services/src/main/java/org/apache/unomi/groovy/actions/listener/GroovyActionListener.java b/extensions/groovy-actions/services/src/main/java/org/apache/unomi/groovy/actions/listener/GroovyActionListener.java
index 2ac3e37c4..86baae6b1 100644
--- a/extensions/groovy-actions/services/src/main/java/org/apache/unomi/groovy/actions/listener/GroovyActionListener.java
+++ b/extensions/groovy-actions/services/src/main/java/org/apache/unomi/groovy/actions/listener/GroovyActionListener.java
@@ -62,7 +62,6 @@ public class GroovyActionListener implements SynchronousBundleListener {
 
     public void postConstruct() {
         logger.debug("postConstruct {}", bundleContext.getBundle());
-        createIndex();
         loadGroovyActions(bundleContext);
         for (Bundle bundle : bundleContext.getBundles()) {
             if (bundle.getBundleContext() != null && bundle.getBundleId() != bundleContext.getBundle().getBundleId()) {
@@ -107,14 +106,6 @@ public class GroovyActionListener implements SynchronousBundleListener {
         }
     }
 
-    public void createIndex() {
-        if (persistenceService.createIndex(GroovyAction.ITEM_TYPE)) {
-            logger.info("GroovyAction index created");
-        } else {
-            logger.info("GroovyAction index already exists");
-        }
-    }
-
     private void addGroovyAction(URL groovyActionURL) {
         try {
             groovyActionsService.save(FilenameUtils.getName(groovyActionURL.getPath()).replace(".groovy", ""),
diff --git a/extensions/groovy-actions/services/src/main/resources/META-INF/cxs/mappings/groovyAction.json b/extensions/groovy-actions/services/src/main/resources/META-INF/cxs/mappings/groovyAction.json
deleted file mode 100644
index 6cd8d3ff8..000000000
--- a/extensions/groovy-actions/services/src/main/resources/META-INF/cxs/mappings/groovyAction.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "name": {
-      "type": "text"
-    },
-    "script": {
-      "type": "text"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/impl/SchemaServiceImpl.java b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/impl/SchemaServiceImpl.java
index ebc431f7f..44ff90f7b 100644
--- a/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/impl/SchemaServiceImpl.java
+++ b/extensions/json-schema/services/src/main/java/org/apache/unomi/schema/impl/SchemaServiceImpl.java
@@ -296,14 +296,6 @@ public class SchemaServiceImpl implements SchemaService {
         return schema;
     }
 
-    private void initPersistenceIndex() {
-        if (persistenceService.createIndex(JsonSchemaWrapper.ITEM_TYPE)) {
-            logger.info("{} index created", JsonSchemaWrapper.ITEM_TYPE);
-        } else {
-            logger.info("{} index already exists", JsonSchemaWrapper.ITEM_TYPE);
-        }
-    }
-
     private void initTimers() {
         TimerTask task = new TimerTask() {
             @Override
@@ -345,7 +337,6 @@ public class SchemaServiceImpl implements SchemaService {
 
     public void init() {
         scheduler = Executors.newSingleThreadScheduledExecutor();
-        initPersistenceIndex();
         initJsonSchemaFactory();
         initTimers();
         logger.info("Schema service initialized.");
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 864548f3e..9d9a2abeb 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
@@ -168,6 +168,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 
 import static org.elasticsearch.index.query.QueryBuilders.termQuery;
@@ -252,6 +253,37 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
 
     private Map<String, Map<String, Map<String, Object>>> knownMappings = new HashMap<>();
 
+    private static Map<String, String> itemTypeIndexNameMap = new ConcurrentHashMap<>();
+    static {
+        // metadata items
+        itemTypeIndexNameMap.put("actionType", "item");
+        itemTypeIndexNameMap.put("campaign", "item");
+        itemTypeIndexNameMap.put("campaignevent", "item");
+        itemTypeIndexNameMap.put("goal", "item");
+        itemTypeIndexNameMap.put("userList", "item");
+        itemTypeIndexNameMap.put("propertyType", "item");
+        itemTypeIndexNameMap.put("scope", "item");
+        itemTypeIndexNameMap.put("conditionType", "item");
+        itemTypeIndexNameMap.put("rule", "item");
+        itemTypeIndexNameMap.put("scoring", "item");
+        itemTypeIndexNameMap.put("segment", "item");
+        itemTypeIndexNameMap.put("groovyAction", "item");
+
+        // direct item implems
+        itemTypeIndexNameMap.put("topic", "item");
+        itemTypeIndexNameMap.put("patch", "item");
+        itemTypeIndexNameMap.put("jsonSchema", "item");
+        itemTypeIndexNameMap.put("importConfig", "item");
+        itemTypeIndexNameMap.put("exportConfig", "item");
+        itemTypeIndexNameMap.put("rulestats", "item");
+
+        itemTypeIndexNameMap.put("profile", "profile");
+        itemTypeIndexNameMap.put("persona", "profile");
+
+        itemTypeIndexNameMap.put("session", "session");
+        itemTypeIndexNameMap.put("personaSession", "session");
+    }
+
     public void setBundleContext(BundleContext bundleContext) {
         this.bundleContext = bundleContext;
     }
@@ -836,7 +868,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                         GetResponse response = client.get(getRequest, RequestOptions.DEFAULT);
                         if (response.isExists()) {
                             String sourceAsString = response.getSourceAsString();
-                            final T value = ESCustomObjectMapper.getObjectMapper().readValue(sourceAsString, clazz);
+                            -final T value = ESCustomObjectMapper.getObjectMapper().readValue(sourceAsString, clazz);
                             setMetadata(value, response.getId(), response.getVersion(), response.getSeqNo(), response.getPrimaryTerm(), response.getIndex());
                             return value;
                         } else {
@@ -1089,13 +1121,14 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                     for (int i = 0; i < scripts.length; i++) {
                         RefreshRequest refreshRequest = new RefreshRequest(index);
                         client.indices().refresh(refreshRequest, RequestOptions.DEFAULT);
+                        QueryBuilder queryBuilder = conditionESQueryBuilderDispatcher.buildFilter(conditions[i]);
 
                         UpdateByQueryRequest updateByQueryRequest = new UpdateByQueryRequest(index);
                         updateByQueryRequest.setConflicts("proceed");
                         updateByQueryRequest.setMaxRetries(1000);
                         updateByQueryRequest.setSlices(2);
                         updateByQueryRequest.setScript(scripts[i]);
-                        updateByQueryRequest.setQuery(conditionESQueryBuilderDispatcher.buildFilter(conditions[i]));
+                        updateByQueryRequest.setQuery(isItemTypeSharingIndex(itemType) ? wrapWithItemTypeQuery(itemType, queryBuilder) : queryBuilder);
 
                         BulkByScrollResponse response = client.updateByQuery(updateByQueryRequest, RequestOptions.DEFAULT);
 
@@ -1254,8 +1287,9 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
             protected Boolean execute(Object... args) throws Exception {
                 try {
                     String itemType = Item.getItemType(clazz);
+                    QueryBuilder queryBuilder = conditionESQueryBuilderDispatcher.getQueryBuilder(query);
                     final DeleteByQueryRequest deleteByQueryRequest = new DeleteByQueryRequest(getIndexNameForQuery(itemType))
-                            .setQuery(conditionESQueryBuilderDispatcher.getQueryBuilder(query))
+                            .setQuery(isItemTypeSharingIndex(itemType) ? wrapWithItemTypeQuery(itemType, queryBuilder) : queryBuilder)
                             // Setting slices to auto will let Elasticsearch choose the number of slices to use.
                             // This setting will use one slice per shard, up to a certain limit.
                             // The delete request will be more efficient and faster than no slicing.
@@ -1893,7 +1927,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
 
                 CountRequest countRequest = new CountRequest(getIndexNameForQuery(itemType));
                 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
-                searchSourceBuilder.query(filter);
+                searchSourceBuilder.query(isItemTypeSharingIndex(itemType) ? wrapWithItemTypeQuery(itemType, filter) : filter);
                 countRequest.source(searchSourceBuilder);
                 CountResponse response = client.count(countRequest, RequestOptions.DEFAULT);
                 return response.getCount();
@@ -1928,7 +1962,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                     SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
                             .fetchSource(true)
                             .seqNoAndPrimaryTerm(true)
-                            .query(query)
+                            .query(isItemTypeSharingIndex(itemType) ? wrapWithItemTypeQuery(itemType, query) : query)
                             .size(size < 0 ? defaultQueryLimit : size)
                             .from(offset);
                     if (scrollTimeValidity != null) {
@@ -2149,7 +2183,9 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                 SearchRequest searchRequest = new SearchRequest(getIndexNameForQuery(itemType));
                 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
                 searchSourceBuilder.size(0);
-                searchSourceBuilder.query(QueryBuilders.matchAllQuery());
+                MatchAllQueryBuilder matchAll = QueryBuilders.matchAllQuery();
+                boolean isItemTypeSharingIndex = isItemTypeSharingIndex(itemType);
+                searchSourceBuilder.query(isItemTypeSharingIndex ? getItemTypeQueryBuilder(itemType) : matchAll);
                 List<AggregationBuilder> lastAggregation = new ArrayList<AggregationBuilder>();
 
                 if (aggregate != null) {
@@ -2230,11 +2266,15 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                     }
 
                     if (filter != null) {
-                        searchSourceBuilder.query(conditionESQueryBuilderDispatcher.buildFilter(filter));
+                        searchSourceBuilder.query(isItemTypeSharingIndex ?
+                                wrapWithItemTypeQuery(itemType, conditionESQueryBuilderDispatcher.buildFilter(filter)) :
+                                conditionESQueryBuilderDispatcher.buildFilter(filter));
                     }
                 } else {
                     if (filter != null) {
-                        AggregationBuilder filterAggregation = AggregationBuilders.filter("filter", conditionESQueryBuilderDispatcher.buildFilter(filter));
+                        AggregationBuilder filterAggregation = AggregationBuilders.filter("filter", isItemTypeSharingIndex ?
+                                wrapWithItemTypeQuery(itemType, conditionESQueryBuilderDispatcher.buildFilter(filter)) :
+                                conditionESQueryBuilderDispatcher.buildFilter(filter));
                         for (AggregationBuilder aggregationBuilder : lastAggregation) {
                             filterAggregation.subAggregation(aggregationBuilder);
                         }
@@ -2455,7 +2495,8 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                 SearchRequest searchRequest = new SearchRequest(getIndexNameForQuery(itemType));
                 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
                         .size(0)
-                        .query(QueryBuilders.matchAllQuery());
+                        .query(isItemTypeSharingIndex(itemType) ? getItemTypeQueryBuilder(itemType) : QueryBuilders.matchAllQuery());
+
                 AggregationBuilder filterAggregation = AggregationBuilders.filter("metrics", conditionESQueryBuilderDispatcher.buildFilter(condition));
 
                 if (metrics != null) {
@@ -2589,12 +2630,36 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
         return isItemTypeRollingOver(itemType) ? getRolloverIndexForQuery(itemType) : getIndex(itemType);
     }
 
+<<<<<<< Updated upstream
     private String getRolloverIndexForQuery(String itemType) {
         return indexPrefix + "-" + itemType.toLowerCase() + "-*";
+=======
+    private String getMonthlyIndexForQuery(String itemType) {
+        return indexPrefix + "-" + getIndexNameForItemType(itemType) + "-*";
+>>>>>>> Stashed changes
+    }
+
+    private String getIndex(String itemType) {
+        return (indexPrefix + "-" + getIndexNameForItemType(itemType)).toLowerCase();
+    }
+
+    private String getIndexNameForItemType(String itemType) {
+        return itemTypeIndexNameMap.getOrDefault(itemType, itemType);
+    }
+
+    private QueryBuilder wrapWithItemTypeQuery(String itemType, QueryBuilder originalQuery) {
+        BoolQueryBuilder wrappedQuery = QueryBuilders.boolQuery();
+        wrappedQuery.must(getItemTypeQueryBuilder(itemType));
+        wrappedQuery.must(originalQuery);
+        return wrappedQuery;
+    }
+
+    private QueryBuilder getItemTypeQueryBuilder(String itemType) {
+        return QueryBuilders.termQuery("itemType", itemType);
     }
 
-    private String getIndex(String indexItemTypePart) {
-        return (indexPrefix + "-" + indexItemTypePart).toLowerCase();
+    private boolean isItemTypeSharingIndex(String itemType) {
+        return itemTypeIndexNameMap.containsKey(itemType);
     }
 
     private boolean isItemTypeRollingOver(String itemType) {
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 e1ac5f8d4..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/actionType.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ]
-}
\ No newline at end of file
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
deleted file mode 100644
index 9cfabbb94..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaign.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "cost": {
-      "type": "double"
-    },
-    "startDate": {
-      "type": "date"
-    },
-    "endDate": {
-      "type": "date"
-    },
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "entryCondition":  {
-      "type": "object",
-      "enabled": false
-    }
-  }
-}
\ No newline at end of file
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
deleted file mode 100644
index 7d6a564d0..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/campaignevent.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "cost": {
-      "type": "double"
-    },
-    "eventDate": {
-      "type": "date"
-    },
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
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 61919135a..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/conditionType.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "parentCondition":  {
-      "type": "object",
-      "enabled": false
-    }
-  }
-}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/exportConfig.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/exportConfig.json
deleted file mode 100644
index e1ac5f8d4..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/exportConfig.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ]
-}
\ No newline at end of file
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
deleted file mode 100644
index c1f264951..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/goal.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "startEvent": {
-      "type": "object",
-      "enabled": false
-    },
-    "targetEvent": {
-      "type": "object",
-      "enabled": false
-    }
-  }
-}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/importConfig.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/importConfig.json
deleted file mode 100644
index e1ac5f8d4..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/importConfig.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ]
-}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/item.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/item.json
new file mode 100644
index 000000000..ca5a7a397
--- /dev/null
+++ b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/item.json
@@ -0,0 +1,141 @@
+{
+  "dynamic_templates": [
+    {
+      "all": {
+        "match": "*",
+        "match_mapping_type": "string",
+        "mapping": {
+          "type": "text",
+          "analyzer": "folding",
+          "fields": {
+            "keyword": {
+              "type": "keyword",
+              "ignore_above": 256
+            }
+          }
+        }
+      }
+    }
+  ],
+  "properties": {
+    "cost": {
+      "type": "double"
+    },
+    "startDate": {
+      "type": "date"
+    },
+    "endDate": {
+      "type": "date"
+    },
+    "metadata": {
+      "properties": {
+        "enabled": {
+          "type": "boolean"
+        },
+        "hidden": {
+          "type": "boolean"
+        },
+        "missingPlugins": {
+          "type": "boolean"
+        },
+        "readOnly": {
+          "type": "boolean"
+        }
+      }
+    },
+    "entryCondition":  {
+      "type": "object",
+      "enabled": false
+    },
+    "parentCondition":  {
+      "type": "object",
+      "enabled": false
+    },
+    "startEvent": {
+      "type": "object",
+      "enabled": false
+    },
+    "targetEvent": {
+      "type": "object",
+      "enabled": false
+    },
+    "eventDate": {
+      "type": "date"
+    },
+    "multivalued": {
+      "type": "boolean"
+    },
+    "numericRanges": {
+      "properties": {
+        "from": {
+          "type": "double"
+        },
+        "to": {
+          "type": "double"
+        }
+      }
+    },
+    "protected": {
+      "type": "boolean"
+    },
+    "rank": {
+      "type": "double"
+    },
+    "dateRanges": {
+      "properties": {
+      }
+    },
+    "priority": {
+      "type": "long"
+    },
+    "raiseEventOnlyOnceForProfile": {
+      "type": "boolean"
+    },
+    "raiseEventOnlyOnceForSession": {
+      "type": "boolean"
+    },
+    "raiseEventOnlyOnce": {
+      "type": "boolean"
+    },
+    "condition": {
+      "type": "object",
+      "enabled": false
+    },
+    "actions": {
+      "properties": {
+        "parameterValues": {
+          "type": "object",
+          "enabled": false
+        }
+      }
+    },
+    "elements": {
+      "properties": {
+        "condition": {
+          "type": "object",
+          "enabled": false
+        }
+      }
+    },
+
+    "patchedItemId": {
+      "type": "text"
+    },
+    "patchedItemType": {
+      "type": "text"
+    },
+    "operation": {
+      "type": "text"
+    },
+    "data": {
+      "type": "object",
+      "enabled": false
+    },
+    "lastApplication": {
+      "type": "date"
+    },
+    "schema": {
+      "type": "text"
+    }
+  }
+}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/jsonschema.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/jsonschema.json
deleted file mode 100644
index 896e1be21..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/jsonschema.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "schema": {
-      "type": "text"
-    }
-  }
-}
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/patch.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/patch.json
deleted file mode 100644
index e622845c4..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/patch.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "patchedItemId": {
-      "type": "text"
-    },
-    "patchedItemType": {
-      "type": "text"
-    },
-    "operation": {
-      "type": "text"
-    },
-    "data": {
-      "type": "object",
-      "enabled": false
-    },
-    "lastApplication": {
-      "type": "date"
-    }
-  }
-}
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 d0142451f..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/persona.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "properties": {
-      "properties": {
-        "firstVisit": {
-          "type": "date"
-        },
-        "lastVisit": {
-          "type": "date"
-        },
-        "previousVisit": {
-          "type": "date"
-        },
-        "nbOfVisits": {
-          "type": "long"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
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
deleted file mode 100644
index c635e0285..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/personaSession.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "duration": {
-      "type": "long"
-    },
-    "timeStamp": {
-      "type": "date"
-    },
-    "lastEventDate": {
-      "type": "date"
-    },
-    "properties": {
-      "properties": {
-        "location": {
-          "type": "geo_point"
-        }
-      }
-    },
-    "size": {
-      "type": "long"
-    }
-  }
-}
\ No newline at end of file
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
deleted file mode 100644
index 3898c8c68..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/propertyType.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "dateRanges": {
-      "properties": {
-      }
-    },
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "multivalued": {
-      "type": "boolean"
-    },
-    "numericRanges": {
-      "properties": {
-        "from": {
-          "type": "double"
-        },
-        "to": {
-          "type": "double"
-        }
-      }
-    },
-    "protected": {
-      "type": "boolean"
-    },
-    "rank": {
-      "type": "double"
-    }
-  }
-}
\ No newline at end of file
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
deleted file mode 100644
index d11cc551e..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rule.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "priority": {
-      "type": "long"
-    },
-    "raiseEventOnlyOnceForProfile": {
-      "type": "boolean"
-    },
-    "raiseEventOnlyOnceForSession": {
-      "type": "boolean"
-    },
-    "raiseEventOnlyOnce": {
-      "type": "boolean"
-    },
-    "condition": {
-      "type": "object",
-      "enabled": false
-    },
-    "actions": {
-      "properties": {
-        "parameterValues": {
-          "type": "object",
-          "enabled": false
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rulestats.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rulestats.json
deleted file mode 100644
index e1ac5f8d4..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/rulestats.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ]
-}
\ No newline at end of file
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scope.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scope.json
deleted file mode 100644
index 27fa2b384..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scope.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-  }
-}
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
deleted file mode 100644
index e313cdfaf..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/scoring.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "elements": {
-      "properties": {
-        "condition": {
-          "type": "object",
-          "enabled": false
-        }
-      }
-    }
-  }
-}
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
deleted file mode 100644
index 676a0a9ee..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/segment.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ],
-  "properties": {
-    "metadata": {
-      "properties": {
-        "enabled": {
-          "type": "boolean"
-        },
-        "hidden": {
-          "type": "boolean"
-        },
-        "missingPlugins": {
-          "type": "boolean"
-        },
-        "readOnly": {
-          "type": "boolean"
-        }
-      }
-    },
-    "condition": {
-      "type": "object",
-      "enabled": false
-    }
-  }
-}
diff --git a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/topic.json b/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/topic.json
deleted file mode 100644
index d2d90cb94..000000000
--- a/persistence-elasticsearch/core/src/main/resources/META-INF/cxs/mappings/topic.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "dynamic_templates": [
-    {
-      "all": {
-        "match": "*",
-        "match_mapping_type": "string",
-        "mapping": {
-          "type": "text",
-          "analyzer": "folding",
-          "fields": {
-            "keyword": {
-              "type": "keyword",
-              "ignore_above": 256
-            }
-          }
-        }
-      }
-    }
-  ]
-}


[unomi] 02/03: fix bad merge

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch reduceIndicesItems2
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit e0583a889b262be711c652b5ba312e87ce7685c7
Author: Kevan <ke...@jahia.com>
AuthorDate: Wed Feb 1 10:25:11 2023 +0100

    fix bad merge
---
 .../elasticsearch/ElasticSearchPersistenceServiceImpl.java       | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

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 9d9a2abeb..a4a8f7019 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
@@ -868,7 +868,7 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                         GetResponse response = client.get(getRequest, RequestOptions.DEFAULT);
                         if (response.isExists()) {
                             String sourceAsString = response.getSourceAsString();
-                            -final T value = ESCustomObjectMapper.getObjectMapper().readValue(sourceAsString, clazz);
+                            final T value = ESCustomObjectMapper.getObjectMapper().readValue(sourceAsString, clazz);
                             setMetadata(value, response.getId(), response.getVersion(), response.getSeqNo(), response.getPrimaryTerm(), response.getIndex());
                             return value;
                         } else {
@@ -2629,14 +2629,9 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
     private String getIndexNameForQuery(String itemType) {
         return isItemTypeRollingOver(itemType) ? getRolloverIndexForQuery(itemType) : getIndex(itemType);
     }
-
-<<<<<<< Updated upstream
+    
     private String getRolloverIndexForQuery(String itemType) {
         return indexPrefix + "-" + itemType.toLowerCase() + "-*";
-=======
-    private String getMonthlyIndexForQuery(String itemType) {
-        return indexPrefix + "-" + getIndexNameForItemType(itemType) + "-*";
->>>>>>> Stashed changes
     }
 
     private String getIndex(String itemType) {