@Test public void testBucketWithOptions() { getDs().save(asList(new Book("The Banquet", "Dante", 2), new Book("Divine Comedy", "Dante", 1), new Book("Eclogues", "Dante", 2), new Book("The Odyssey", "Homer", 10), new Book("Iliad", "Homer", 10))); Iterator<BucketResult> aggregate = getDs().createAggregation(Book.class) .bucket("copies", Arrays.asList(1, 5, 10), new BucketOptions() .defaultField("test") .output("count").sum(1)) .aggregate(BucketResult.class); BucketResult result1 = aggregate.next(); assertEquals(result1.id, "1"); assertEquals(result1.count, 3); BucketResult result2 = aggregate.next(); assertEquals(result2.id, "test"); assertEquals(result2.count, 2); }
@Test(expected = RuntimeException.class) public void testBucketWithUnsortedBoundaries() { checkMinServerVersion(3.4); getDs().save(asList(new Book("The Banquet", "Dante", 2), new Book("Divine Comedy", "Dante", 1), new Book("Eclogues", "Dante", 2), new Book("The Odyssey", "Homer", 10), new Book("Iliad", "Homer", 10))); Iterator<BucketResult> aggregate = getDs().createAggregation(Book.class) .bucket("copies", Arrays.asList(5, 1, 10), new BucketOptions() .defaultField("test") .output("count") .sum(1)) .aggregate(BucketResult.class); }
@Test(expected = RuntimeException.class) public void testBucketWithBoundariesWithSizeLessThanTwo() { checkMinServerVersion(3.4); getDs().save(asList(new Book("The Banquet", "Dante", 2), new Book("Divine Comedy", "Dante", 1), new Book("Eclogues", "Dante", 2), new Book("The Odyssey", "Homer", 10), new Book("Iliad", "Homer", 10))); Iterator<BucketResult> aggregate = getDs().createAggregation(Book.class) .bucket("copies", Arrays.asList(10), new BucketOptions() .defaultField("test") .output("count") .sum(1)) .aggregate(BucketResult.class); }