diff options
author | Colin Goodheart-Smithe <colings86@users.noreply.github.com> | 2015-07-09 13:23:00 +0100 |
---|---|---|
committer | Colin Goodheart-Smithe <colings86@users.noreply.github.com> | 2015-07-10 13:09:31 +0100 |
commit | fcf8d2408fcc24728b65ec29fad8871630f094de (patch) | |
tree | 9f62f400f4fe34c285245d861ac155eb83060566 /core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java | |
parent | 0eb9f07f0e7342726045c2e55f585e81c0eb3560 (diff) |
Aggregations: Adds new script API to ValuesSourceMetricsAggregationBuilder
A method for the new Script API were missing in the ValuesSourceMetricsAggregationBuilder. This change adds the missing method and deprecates the old Script API methods
Diffstat (limited to 'core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java')
-rw-r--r-- | core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java | 225 |
1 files changed, 215 insertions, 10 deletions
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java index 27e6830f0a..590db86e3a 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java @@ -19,11 +19,16 @@ package org.elasticsearch.search.aggregations.metrics; import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.script.Script; +import org.elasticsearch.script.ScriptService.ScriptType; import org.elasticsearch.search.aggregations.bucket.global.Global; import org.elasticsearch.search.aggregations.bucket.histogram.Histogram; import org.elasticsearch.search.aggregations.metrics.avg.Avg; import org.junit.Test; +import java.util.HashMap; +import java.util.Map; + import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.search.aggregations.AggregationBuilders.avg; import static org.elasticsearch.search.aggregations.AggregationBuilders.global; @@ -136,7 +141,7 @@ public class AvgTests extends AbstractNumericTests { public void testSingleValuedField_WithValueScript() throws Exception { SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").field("value").script("_value + 1")) + .addAggregation(avg("avg").field("value").script(new Script("_value + 1"))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -150,9 +155,11 @@ public class AvgTests extends AbstractNumericTests { @Override @Test public void testSingleValuedField_WithValueScript_WithParams() throws Exception { + Map<String, Object> params = new HashMap<>(); + params.put("inc", 1); SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").field("value").script("_value + inc").param("inc", 1)) + .addAggregation(avg("avg").field("value").script(new Script("_value + inc", ScriptType.INLINE, null, params))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -197,7 +204,7 @@ public class AvgTests extends AbstractNumericTests { public void testMultiValuedField_WithValueScript() throws Exception { SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").field("values").script("_value + 1")) + .addAggregation(avg("avg").field("values").script(new Script("_value + 1"))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -211,9 +218,11 @@ public class AvgTests extends AbstractNumericTests { @Override @Test public void testMultiValuedField_WithValueScript_WithParams() throws Exception { + Map<String, Object> params = new HashMap<>(); + params.put("inc", 1); SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").field("values").script("_value + inc").param("inc", 1)) + .addAggregation(avg("avg").field("values").script(new Script("_value + inc", ScriptType.INLINE, null, params))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -229,7 +238,7 @@ public class AvgTests extends AbstractNumericTests { public void testScript_SingleValued() throws Exception { SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("doc['value'].value")) + .addAggregation(avg("avg").script(new Script("doc['value'].value"))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -243,9 +252,11 @@ public class AvgTests extends AbstractNumericTests { @Override @Test public void testScript_SingleValued_WithParams() throws Exception { + Map<String, Object> params = new HashMap<>(); + params.put("inc", 1); SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1)) + .addAggregation(avg("avg").script(new Script("doc['value'].value + inc", ScriptType.INLINE, null, params))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -259,9 +270,11 @@ public class AvgTests extends AbstractNumericTests { @Override @Test public void testScript_ExplicitSingleValued_WithParams() throws Exception { + Map<String, Object> params = new HashMap<>(); + params.put("inc", 1); SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1)) + .addAggregation(avg("avg").script(new Script("doc['value'].value + inc", ScriptType.INLINE, null, params))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -277,7 +290,7 @@ public class AvgTests extends AbstractNumericTests { public void testScript_MultiValued() throws Exception { SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]")) + .addAggregation(avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + 1 ]"))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -293,7 +306,7 @@ public class AvgTests extends AbstractNumericTests { public void testScript_ExplicitMultiValued() throws Exception { SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]")) + .addAggregation(avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + 1 ]"))) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -307,9 +320,183 @@ public class AvgTests extends AbstractNumericTests { @Override @Test public void testScript_MultiValued_WithParams() throws Exception { + Map<String, Object> params = new HashMap<>(); + params.put("inc", 1); SearchResponse searchResponse = client().prepareSearch("idx") .setQuery(matchAllQuery()) - .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + inc ]").param("inc", 1)) + .addAggregation( + avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + inc ]", ScriptType.INLINE, null, params))) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testSingleValuedField_WithValueScript_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").field("value").script("_value + 1")) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testSingleValuedField_WithValueScript_WithParams_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").field("value").script("_value + inc").param("inc", 1)) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testMultiValuedField_WithValueScript_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").field("values").script("_value + 1")) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11+11+12+12+13) / 20)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testMultiValuedField_WithValueScript_WithParams_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").field("values").script("_value + inc").param("inc", 1)) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11+11+12+12+13) / 20)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_SingleValued_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("doc['value'].value")) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (1+2+3+4+5+6+7+8+9+10) / 10)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_SingleValued_WithParams_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1)) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_ExplicitSingleValued_WithParams_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1)) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_MultiValued_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]")) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20)); + } + + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_ExplicitMultiValued_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]")) .execute().actionGet(); assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); @@ -320,4 +507,22 @@ public class AvgTests extends AbstractNumericTests { assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20)); } + /* + * TODO Remove in 3.0 + */ + @Override + @Test + public void testScript_MultiValued_WithParams_OldScriptAPI() throws Exception { + SearchResponse searchResponse = client().prepareSearch("idx") + .setQuery(matchAllQuery()) + .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + inc ]").param("inc", 1)) + .execute().actionGet(); + + assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l)); + + Avg avg = searchResponse.getAggregations().get("avg"); + assertThat(avg, notNullValue()); + assertThat(avg.getName(), equalTo("avg")); + assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20)); + } }
\ No newline at end of file |