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
