Class AggregatorTestCase
- java.lang.Object
-
- org.junit.Assert
-
- org.apache.lucene.util.LuceneTestCase
-
- org.elasticsearch.test.ESTestCase
-
- org.elasticsearch.search.aggregations.AggregatorTestCase
-
public abstract class AggregatorTestCase extends ESTestCase
Base class for testingAggregator
implementations. Provides helpers for constructing and searching anAggregator
implementation based on a providedAggregationBuilder
instance.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.elasticsearch.test.ESTestCase
ESTestCase.GeohashGenerator, ESTestCase.TestAnalysis
-
Nested classes/interfaces inherited from class org.apache.lucene.util.LuceneTestCase
org.apache.lucene.util.LuceneTestCase.AwaitsFix, org.apache.lucene.util.LuceneTestCase.BadApple, org.apache.lucene.util.LuceneTestCase.Monster, org.apache.lucene.util.LuceneTestCase.Nightly, org.apache.lucene.util.LuceneTestCase.Slow, org.apache.lucene.util.LuceneTestCase.SuppressCodecs, org.apache.lucene.util.LuceneTestCase.SuppressFileSystems, org.apache.lucene.util.LuceneTestCase.SuppressFsync, org.apache.lucene.util.LuceneTestCase.SuppressReproduceLine, org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks, org.apache.lucene.util.LuceneTestCase.SuppressTempFileChecks, org.apache.lucene.util.LuceneTestCase.ThrowingRunnable, org.apache.lucene.util.LuceneTestCase.Weekly
-
-
Field Summary
-
Fields inherited from class org.elasticsearch.test.ESTestCase
checkIndexFailed, failureAndSuccessEvents, JAVA_TIMEZONE_IDS, JAVA_ZONE_IDS, JODA_TIMEZONE_IDS, logger
-
Fields inherited from class org.apache.lucene.util.LuceneTestCase
assertsAreEnabled, classRules, DEFAULT_LINE_DOCS_FILE, INFOSTREAM, JENKINS_LARGE_LINE_DOCS_FILE, LEAVE_TEMPORARY, MAYBE_CACHE_POLICY, RANDOM_MULTIPLIER, ruleChain, suiteFailureMarker, SYSPROP_AWAITSFIX, SYSPROP_BADAPPLES, SYSPROP_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_SLOW, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, TEST_BADAPPLES, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_MONSTER, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_SLOW, TEST_THROTTLING, TEST_WEEKLY, VERBOSE
-
-
Constructor Summary
Constructors Constructor Description AggregatorTestCase()
-
Method Summary
Modifier and Type Method Description protected <A extends Aggregator>
AcreateAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MappedFieldType... fieldTypes)
protected <A extends Aggregator>
AcreateAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes)
protected <A extends Aggregator>
AcreateAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes)
protected <A extends Aggregator>
AcreateAggregator(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes)
protected <A extends Aggregator>
AcreateAggregator(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MappedFieldType... fieldTypes)
protected AggregatorFactory<?>
createAggregatorFactory(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes)
Create a factory for the given aggregation builder.protected AggregatorFactory<?>
createAggregatorFactory(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes)
protected AggregatorFactory<?>
createAggregatorFactory(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MappedFieldType... fieldTypes)
protected IndexSettings
createIndexSettings()
protected SearchContext
createSearchContext(org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings)
protected java.util.Map<java.lang.String,MappedFieldType>
getFieldAliases(MappedFieldType... fieldTypes)
Allows subclasses to provide alternate names for the provided field type, which can be useful when testing aggregations on field aliases.protected MapperService
mapperServiceMock()
sub-tests that need a more complex mock can overwrite thisprotected static IndexReader
maybeWrapReaderEs(DirectoryReader reader)
Added to randomly run with more assertions on the index reader level, likeLuceneTestCase.wrapReader(IndexReader)
, which can't be used because it also wraps in the IndexReader with other implementations that we can't handle.protected static org.apache.lucene.search.IndexSearcher
newIndexSearcher(IndexReader indexReader)
Added to randomly run with more assertions on the index searcher level, likeLuceneTestCase.newSearcher(IndexReader)
, which can't be used because it also wraps in the IndexSearcher's IndexReader with other implementations that we can't handle.protected QueryShardContext
queryShardContextMock(MapperService mapperService)
sub-tests that need a more complex mock can overwrite thisprotected <A extends InternalAggregation,C extends Aggregator>
Asearch(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, int maxBucket, MappedFieldType... fieldTypes)
protected <A extends InternalAggregation,C extends Aggregator>
Asearch(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, MappedFieldType... fieldTypes)
protected <A extends InternalAggregation,C extends Aggregator>
AsearchAndReduce(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, int maxBucket, ScriptService scriptService, MappedFieldType... fieldTypes)
Divides the providedIndexSearcher
in sub-searcher, one for each segment, builds an aggregator for each sub-searcher filtered by the providedQuery
and returns the reducedInternalAggregation
.protected <A extends InternalAggregation,C extends Aggregator>
AsearchAndReduce(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, MappedFieldType... fieldTypes)
protected static DirectoryReader
wrap(DirectoryReader directoryReader)
-
Methods inherited from class org.elasticsearch.test.ESTestCase
after, afterIfFailed, afterIfSuccessful, assertAllIndicesRemovedAndDeletionCompleted, assertArrayEquals, assertBusy, assertBusy, assertEquals, assertEqualsWithErrorMessageFromXContent, assertPathHasBeenCleared, assertSettingDeprecationsAndWarnings, assertSettingDeprecationsAndWarnings, assertWarnings, awaitBusy, awaitBusy, before, between, buildEnvSettings, buildNewFakeTransportAddress, checkStaticState, copyInstance, copyStreamable, copyWriteable, copyWriteable, createParser, createParser, createParser, createParser, createParser, createTestAnalysis, createTestAnalysis, createTestAnalysis, enableWarningsCheck, ensureAllSearchContextsReleased, ensureCheckIndexPassed, ensureSupportedLocale, frequently, generateRandomStringArray, generateRandomStringArray, getBwcIndicesPath, getDataPath, getSuiteFailureMarker, getTestTransportPlugin, getTestTransportType, inFipsJvm, iterations, maybeSet, mockScript, newNodeEnvironment, newNodeEnvironment, newTestIndicesModule, newTestScriptModule, randomAlphaOfLength, randomAlphaOfLengthBetween, randomArray, randomArray, randomBoolean, randomByte, randomByteArrayOfLength, randomDateTimeZone, randomDouble, randomDoubleBetween, randomFloat, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomGeohash, randomInt, randomInt, randomIntBetween, randomLong, randomLongBetween, randomNonNegativeLong, randomPositiveTimeValue, randomRealisticUnicodeOfCodepointLength, randomRealisticUnicodeOfCodepointLengthBetween, randomRealisticUnicodeOfLength, randomRealisticUnicodeOfLengthBetween, randomShort, randomSubsetOf, randomSubsetOf, randomSubsetOf, randomTimeValue, randomTimeValue, randomTimeValue, randomTimeZone, randomUnicodeOfCodepointLength, randomUnicodeOfCodepointLengthBetween, randomUnicodeOfLength, randomUnicodeOfLengthBetween, randomUnique, randomValueOtherThan, randomValueOtherThanMany, randomZone, resetCheckIndexStatus, resetPortCounter, restoreContentType, restoreFileSystem, scaledRandomIntBetween, setContentType, setFileSystem, settings, shuffleMap, shuffleXContent, shuffleXContent, spinForAtLeastNMilliseconds, spinForAtLeastOneMillisecond, terminate, terminate, tmpPaths, toShuffledXContent, toShuffledXContent, writableRegistry, xContentRegistry
-
Methods inherited from class org.apache.lucene.util.LuceneTestCase
addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertFieldInfosEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getBaseTempDirForTestClass, getDataInputStream, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newDirectory, newDirectory, newDirectory, newDirectory, newDirectory, newField, newField, newFSDirectory, newFSDirectory, newIndexWriterConfig, newIndexWriterConfig, newIndexWriterConfig, newIOContext, newIOContext, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newMaybeVirusCheckingDirectory, newMaybeVirusCheckingFSDirectory, newMergePolicy, newMergePolicy, newMergePolicy, newMockDirectory, newMockDirectory, newMockDirectory, newMockFSDirectory, newMockFSDirectory, newSearcher, newSearcher, newSearcher, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, restoreSpins, runWithRestrictedPermissions, setIndexWriterMaxDocs, setUp, setupCPUCoreCount, setupSpins, slowFileExists, tearDown, usually, usually, wrapReader
-
Methods inherited from class org.junit.Assert
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertTrue, assertTrue, fail, fail
-
-
-
-
Method Detail
-
createAggregatorFactory
protected AggregatorFactory<?> createAggregatorFactory(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregatorFactory
protected AggregatorFactory<?> createAggregatorFactory(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregatorFactory
protected AggregatorFactory<?> createAggregatorFactory(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes) throws java.io.IOException
Create a factory for the given aggregation builder.- Throws:
java.io.IOException
-
getFieldAliases
protected java.util.Map<java.lang.String,MappedFieldType> getFieldAliases(MappedFieldType... fieldTypes)
Allows subclasses to provide alternate names for the provided field type, which can be useful when testing aggregations on field aliases.
-
createAggregator
protected <A extends Aggregator> A createAggregator(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregator
protected <A extends Aggregator> A createAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregator
protected <A extends Aggregator> A createAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregator
protected <A extends Aggregator> A createAggregator(AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createAggregator
protected <A extends Aggregator> A createAggregator(org.apache.lucene.search.Query query, AggregationBuilder aggregationBuilder, org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings, MultiBucketConsumerService.MultiBucketConsumer bucketConsumer, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
createSearchContext
protected SearchContext createSearchContext(org.apache.lucene.search.IndexSearcher indexSearcher, IndexSettings indexSettings)
-
createIndexSettings
protected IndexSettings createIndexSettings()
-
mapperServiceMock
protected MapperService mapperServiceMock()
sub-tests that need a more complex mock can overwrite this
-
queryShardContextMock
protected QueryShardContext queryShardContextMock(MapperService mapperService)
sub-tests that need a more complex mock can overwrite this
-
search
protected <A extends InternalAggregation,C extends Aggregator> A search(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
search
protected <A extends InternalAggregation,C extends Aggregator> A search(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, int maxBucket, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
searchAndReduce
protected <A extends InternalAggregation,C extends Aggregator> A searchAndReduce(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, MappedFieldType... fieldTypes) throws java.io.IOException
- Throws:
java.io.IOException
-
searchAndReduce
protected <A extends InternalAggregation,C extends Aggregator> A searchAndReduce(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query query, AggregationBuilder builder, int maxBucket, ScriptService scriptService, MappedFieldType... fieldTypes) throws java.io.IOException
Divides the providedIndexSearcher
in sub-searcher, one for each segment, builds an aggregator for each sub-searcher filtered by the providedQuery
and returns the reducedInternalAggregation
.- Throws:
java.io.IOException
-
wrap
protected static DirectoryReader wrap(DirectoryReader directoryReader) throws java.io.IOException
- Throws:
java.io.IOException
-
newIndexSearcher
protected static org.apache.lucene.search.IndexSearcher newIndexSearcher(IndexReader indexReader)
Added to randomly run with more assertions on the index searcher level, likeLuceneTestCase.newSearcher(IndexReader)
, which can't be used because it also wraps in the IndexSearcher's IndexReader with other implementations that we can't handle. (e.g. ParallelCompositeReader)
-
maybeWrapReaderEs
protected static IndexReader maybeWrapReaderEs(DirectoryReader reader) throws java.io.IOException
Added to randomly run with more assertions on the index reader level, likeLuceneTestCase.wrapReader(IndexReader)
, which can't be used because it also wraps in the IndexReader with other implementations that we can't handle. (e.g. ParallelCompositeReader)- Throws:
java.io.IOException
-
-