Repository: incubator-unomi
Updated Branches:
  refs/heads/master 9fbdf43ab -> 43a85526e


pastEventCondition hardcoded 5000 limit/UNOMI-119

Added the aggregateQueryBucketSize config to 
etc/org.apache.unomi.elasticsearch.cfg with a default value of 5000.

This config allows the user to increase the aggregate query bucket size when 
5000 is not sufficient.


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/60395c26
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/60395c26
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/60395c26

Branch: refs/heads/master
Commit: 60395c26c3466d2d15d83aba89e5324ddf2e087b
Parents: 0703445
Author: Donald <[email protected]>
Authored: Fri Aug 18 15:26:48 2017 -0400
Committer: Donald <[email protected]>
Committed: Fri Aug 18 15:35:23 2017 -0400

----------------------------------------------------------------------
 .../elasticsearch/ElasticSearchPersistenceServiceImpl.java   | 8 +++++++-
 .../core/src/main/resources/OSGI-INF/blueprint/blueprint.xml | 4 ++++
 .../resources/org.apache.unomi.persistence.elasticsearch.cfg | 3 +++
 3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/60395c26/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 1e601a8..bb84d81 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
@@ -145,6 +145,8 @@ public class ElasticSearchPersistenceServiceImpl implements 
PersistenceService,
     private String minimalElasticSearchVersion = "5.0.0";
     private String maximalElasticSearchVersion = "5.3.0";
 
+    private String aggregateQueryBucketSize = "5000";
+
     private Map<String, Map<String, Map<String, Object>>> knownMappings = new 
HashMap<>();
 
     public void setBundleContext(BundleContext bundleContext) {
@@ -240,6 +242,10 @@ public class ElasticSearchPersistenceServiceImpl 
implements PersistenceService,
         this.maximalElasticSearchVersion = maximalElasticSearchVersion;
     }
 
+    public void setAggregateQueryBucketSize(String aggregateQueryBucketSize) {
+        this.aggregateQueryBucketSize = aggregateQueryBucketSize;
+    }
+
     public void start() throws Exception {
 
         loadPredefinedMappings(bundleContext, false);
@@ -1482,7 +1488,7 @@ public class ElasticSearchPersistenceServiceImpl 
implements PersistenceService,
                         fieldName = getPropertyNameWithData(fieldName, 
itemType);
                         //default
                         if (fieldName != null) {
-                            bucketsAggregation = 
AggregationBuilders.terms("buckets").field(fieldName).size(5000);
+                            bucketsAggregation = 
AggregationBuilders.terms("buckets").field(fieldName).size(Integer.parseInt(aggregateQueryBucketSize));
                         } else {
                             // field name could be null if no existing data 
exists
                         }

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/60395c26/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index ce6d99b..ea8cd53 100644
--- 
a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -49,6 +49,8 @@
             <cm:property name="minimalElasticSearchVersion" value="5.0.0" />
             <cm:property name="maximalElasticSearchVersion" value="5.3.0" />
 
+            <cm:property name="aggregateQuerybucketSize" value="5000" />
+
         </cm:default-properties>
     </cm:property-placeholder>
 
@@ -105,6 +107,8 @@
 
         <property name="minimalElasticSearchVersion" 
value="${es.minimalElasticSearchVersion}" />
         <property name="maximalElasticSearchVersion" 
value="${es.maximalElasticSearchVersion}" />
+
+        <property name="aggregateQueryBucketSize" 
value="${es.aggregateQueryBucketSize}" />
     </bean>
 
     <!-- We use a listener here because using the list directly for listening 
to proxies coming from the same bundle didn't seem to work -->

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/60395c26/persistence-elasticsearch/core/src/main/resources/org.apache.unomi.persistence.elasticsearch.cfg
----------------------------------------------------------------------
diff --git 
a/persistence-elasticsearch/core/src/main/resources/org.apache.unomi.persistence.elasticsearch.cfg
 
b/persistence-elasticsearch/core/src/main/resources/org.apache.unomi.persistence.elasticsearch.cfg
index 5b07a1f..e55d93e 100644
--- 
a/persistence-elasticsearch/core/src/main/resources/org.apache.unomi.persistence.elasticsearch.cfg
+++ 
b/persistence-elasticsearch/core/src/main/resources/org.apache.unomi.persistence.elasticsearch.cfg
@@ -43,3 +43,6 @@ bulkProcessor.backoffPolicy=exponential
 #   minimalElasticSearchVersion <= ElasticSearch node version < 
maximalElasticSearchVersion
 minimalElasticSearchVersion=5.0.0
 maximalElasticSearchVersion=5.3.0
+
+# The following setting is used to set the aggregate query bucket size
+aggregateQueryBucketSize=5000

Reply via email to