Package org.elasticsearch.index.mapper
Class AbstractColumnarArrayOrderFieldDataTestCase
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.elasticsearch.test.ESTestCase
org.elasticsearch.index.mapper.FieldTypeTestCase
org.elasticsearch.index.mapper.MapperServiceTestCase
org.elasticsearch.index.mapper.AbstractColumnarArrayOrderFieldDataTestCase
Shared fielddata coverage for high-cardinality fields in strictly columnar mode that store their values in document order with inline
nulls (
MultiValuedBinaryDocValuesField.ArrayOrderInlineNull) instead of a sidecar .offsets field. Loads values through
the mapper's fielddata builder (so the mapper-to-fielddata wiring is exercised), which sorts within a document, drops nulls and keeps
duplicates. Concrete subclasses supply the field type (keyword, text, match_only_text).-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
MapperServiceTestCase.TestMapperServiceBuilderNested classes/interfaces inherited from class org.elasticsearch.test.ESTestCase
ESTestCase.EntitledTestPackages, ESTestCase.GeohashGenerator, ESTestCase.TestAnalysis, ESTestCase.WithEntitlementsOnTestCode, ESTestCase.WithoutEntitlementsNested classes/interfaces inherited from class org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.util.LuceneTestCase.AwaitsFix, org.apache.lucene.tests.util.LuceneTestCase.Concurrency, org.apache.lucene.tests.util.LuceneTestCase.Monster, org.apache.lucene.tests.util.LuceneTestCase.Nightly, org.apache.lucene.tests.util.LuceneTestCase.SuppressAssertingFormats, org.apache.lucene.tests.util.LuceneTestCase.SuppressCodecs, org.apache.lucene.tests.util.LuceneTestCase.SuppressFileSystems, org.apache.lucene.tests.util.LuceneTestCase.SuppressFsync, org.apache.lucene.tests.util.LuceneTestCase.SuppressReproduceLine, org.apache.lucene.tests.util.LuceneTestCase.SuppressSysoutChecks, org.apache.lucene.tests.util.LuceneTestCase.SuppressTempFileChecks, org.apache.lucene.tests.util.LuceneTestCase.ThrowingConsumer<T>, org.apache.lucene.tests.util.LuceneTestCase.ThrowingRunnable, org.apache.lucene.tests.util.LuceneTestCase.Weekly -
Field Summary
Fields inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
INCLUDE_DEFAULTS, SETTINGSFields inherited from class org.elasticsearch.index.mapper.FieldTypeTestCase
MOCK_CONTEXT, MOCK_CONTEXT_DISALLOW_EXPENSIVEFields inherited from class org.elasticsearch.test.ESTestCase
checkIndexFailures, DEFAULT_DELTA, DEFAULT_TEST_WORKER_ID, failureAndSuccessEvents, FIPS_SYSPROP, JAVA_TIMEZONE_IDS, JAVA_ZONE_IDS, logger, LOGGER_CHILD_OVERRIDE_DEPRECATION_WARNING, MIN_PRIVATE_PORT, previousFailureSkipsRemainingRule, SAFE_AWAIT_TIMEOUT, TEMPLATE_DECORATOR_RULE, TEST_ENTITLEMENTS, TEST_REQUEST_TIMEOUT, TEST_WORKER_SYS_PROPERTY, TEST_WORKER_VM_ID, threadContext, UNSIGNED_LONG_MAXFields inherited from class org.apache.lucene.tests.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_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_MONSTER, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_THROTTLING, TEST_WEEKLY, VERBOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringdecode(org.apache.lucene.util.BytesRef value) Decodes a raw fielddataBytesRefinto the value's textual form.expectedFielddataOrder(List<String> values) Returnsvaluesin the order fielddata exposes them within a document (sorted, with duplicates kept).protected abstract StringrandomDistinctValues(int n) Generatesndistinct values for the field under test.readFielddataValues(MapperService mapperService, CheckedConsumer<XContentBuilder, IOException> doc) Indexes a single document and returns the fielddata values exposed for it, ornullwhen the field has no non-null values for that document (an all-null or empty array, which fielddata reports as no values viaadvanceExact == false).final voidsetUp()voidvoidvoidvoidvoidvoidMethods inherited from class org.elasticsearch.index.mapper.MapperServiceTestCase
compileScript, createColumnarLogsdbModeDocumentMapper, createColumnarModeDocumentMapper, createDocumentMapper, createDocumentMapper, createDocumentMapper, createDocumentMapper, createIndexAnalyzers, createIndexAnalyzers, createIndexSettings, createIndexSettings, createLogsModeDocumentMapper, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperService, createMapperServiceWithNamespaceValidator, createSearchExecutionContext, createSearchExecutionContext, createSearchExecutionContext, createSytheticSourceMapperService, createSytheticSourceMapperService, createTestMapperMetrics, createTimeSeriesModeDocumentMapper, createVectordbDocumentModeDocumentMapper, dynamicMapping, fieldDataLookup, fieldDataLookup, fieldMapping, getIndexSettings, getIndexSettingsBuilder, getPlugins, getVersion, indexWriterForSyntheticSource, mapping, mappingNoSubobjects, mappingWithSubobjects, merge, merge, merge, merge, mergeDynamicUpdate, parseDynamicUpdate, parseMappings, randomIndexOptions, runtimeFieldMapping, runtimeMapping, source, source, source, source, source, syntheticSource, syntheticSource, syntheticSource, syntheticSource, topMapping, validateRoundTripReader, withAggregationContext, withAggregationContext, withAggregationContext, withAggregationContext, withLuceneIndex, withMapping, wrapInMockESDirectoryReader, xContentMeteringParserDecoratorMethods inherited from class org.elasticsearch.index.mapper.FieldTypeTestCase
assertTermQueryWithBinaryDocValues, fetchSourceValue, fetchSourceValue, fetchSourceValues, fetchStoredValue, getFieldInfoWithName, getMappedFieldType, randomMockContext, testFieldHasValue, testFieldHasValueWithEmptyFieldInfosMethods inherited from class org.elasticsearch.test.ESTestCase
after, afterIfFailed, afterIfSuccessful, allBreakersMemoryReleased, asInstanceOf, assertArrayEquals, assertArrayEqualsPercent, assertArrayEqualsPercent, assertArrayEqualsPercent, assertBusy, assertBusy, assertEquals, assertEqualsPercent, assertLeakDetected, assertNoSuiteLeaks, assertSettingDeprecationsAndWarnings, assertThat, assertThat, assertWarnings, assertWarnings, assertWarnings, before, between, buildEnvSettings, buildNewFakeTransportAddress, captureLoggingLevel, checkPreviousFailureSkipsRemaining, checkStaticState, compatibleMediaType, copyInstance, copyNamedWriteable, copyNamedWriteable, copyWriteable, copyWriteable, createDefaultIndexAnalyzers, createParser, createParser, createParser, createParser, createParser, createParser, createParserWithCompatibilityFor, createTestAnalysis, createTestAnalysis, createTestAnalysis, createThreadPool, defaultIndexSettings, embedInRandomBytes, emptyProject, enableAllPagesReleasedCheck, enableArraysReleasedCheck, enableWarningsCheck, ensureAllContextsReleased, ensureAllSearchContextsReleased, ensureCheckIndexPassed, ensureNoWarnings, ensureSupportedLocale, expectThrows, expectThrows, expectThrows, expectThrows, fail, fail, filteredWarnings, flushThreadPoolExecutor, frequently, generateRandomStringArray, generateRandomStringArray, getDataPath, getPortRange, getResourceDataPath, getSuiteFailureMarker, getTestTransportPlugin, getTestTransportType, getWorkerBasePort, indexSettings, indexSettings, indexSettings, inFipsJvm, initTestSeed, isTurkishLocale, iterations, maybeSet, maybeWrapDirectoryInFilterDirectory, mockScript, newEnvironment, newEnvironment, newLimitedBreaker, newLimitedBreakerService, newNodeEnvironment, newNodeEnvironment, newSearcher, newSearcher, newSearcher, newSearcher, openSuiteLeakWindow, parserConfig, previousFailureSkipsRemaining, projectStateFromProject, projectStateFromProject, projectStateWithEmptyProject, randomAlphanumericOfLength, randomAlphaOfLength, randomAlphaOfLengthBetween, randomAlphaOfLengthOrNull, randomArray, randomArray, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomArrayOtherThan, randomBigInteger, randomBoolean, randomByte, randomByteArrayOfLength, randomByteBetween, randomBytesBetween, randomByteSizeValue, randomBytesReference, randomCompatibleMediaType, randomDateFormatterPattern, randomDouble, randomDoubleBetween, randomDoubles, randomDoubles, randomExecutor, randomFloat, randomFloatBetween, randomFloatOrNull, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomGaussianDouble, randomGeohash, randomIdentifier, randomIdentifier, randomIndexName, randomInstantBetween, randomInt, randomInt, randomIntBetween, randomIntOrNull, randomInts, randomInts, randomIp, randomList, randomList, randomLong, randomLong, randomLongBetween, randomLongOrNull, randomLongs, randomLongs, randomMap, randomMillisUpToYear9999, randomNegativeInt, randomNegativeLong, randomNonEmptySubsetOf, randomNonNegativeByte, randomNonNegativeInt, randomNonNegativeIntOrNull, randomNonNegativeLong, randomNonNegativeLongOrNull, randomOptionalBoolean, randomOptionalDouble, randomPositiveTimeValue, randomProjectIdOrDefault, randomRealisticUnicodeOfCodepointLength, randomRealisticUnicodeOfCodepointLengthBetween, randomRealisticUnicodeOfLength, randomRealisticUnicodeOfLengthBetween, randomReleasableBytesReference, randomRepoName, randomSecretKey, randomSecureStringOfLength, randomSet, randomShort, randomSnapshotName, randomSubsetOf, randomSubsetOf, randomSubsetOf, randomTimeValue, randomTimeValue, randomTimeValue, randomTimeValueGreaterThan, randomTimeZone, randomUnicodeOfCodepointLength, randomUnicodeOfCodepointLengthBetween, randomUnicodeOfLength, randomUnicodeOfLengthBetween, randomUnique, randomUniqueProjectId, randomUnsignedLongBetween, randomUUID, randomValueOtherThan, randomValueOtherThanMany, randomVendorType, randomZone, removeHeaderWarningAppender, resetCheckIndexStatus, resetPortCounter, restoreContentType, restoreFileSystem, restoreLoggingLevel, runInParallel, runInParallel, safeAcquire, safeAcquire, safeAwait, safeAwait, safeAwait, safeAwait, safeAwait, safeAwait, safeAwaitAndUnwrapFailure, safeAwaitFailure, safeAwaitFailure, safeAwaitFailure, safeAwaitFailure, safeExecute, safeGet, safeGet, safeJoin, safeSleep, safeSleep, scaledRandomIntBetween, secureRandom, secureRandom, secureRandomFips, secureRandomFips, secureRandomNonFips, secureRandomNonFips, setContentType, setFileSystem, setHeaderWarningAppender, settings, shouldFailureSkipRemainingTests, shuffledList, shuffledList, shuffleMap, shuffleXContent, shuffleXContent, skipTestWaitingForLuceneFix, spinForAtLeastNMilliseconds, spinForAtLeastOneMillisecond, startInParallel, startInParallel, terminate, terminate, tmpPaths, toShuffledXContent, toShuffledXContent, verifyNoOutstandingLeakTrackerLeaks, waitUntil, waitUntil, writableRegistry, xContentRegistryMethods inherited from class org.apache.lucene.tests.util.LuceneTestCase
addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertDoubleUlpEquals, assertFieldInfosEquals, assertFloatUlpEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, atLeast, atLeast, callStackContains, callStackContains, callStackContainsAnyOf, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, ensureSaneIWCOnNightly, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getDataInputStream, getJvmForkArguments, getOnlyLeafReader, getTestClass, getTestName, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, 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, newSnapshotIndexWriterConfig, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, randomVectorFormat, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, runWithRestrictedPermissions, setIndexWriterMaxDocs, setupCPUCoreCount, setUpExecutorService, shutdownExecutorService, slowFileExists, tearDown, usually, usually, wrapReaderMethods 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, assertThrows, assertThrows, assertTrue, assertTrue, fail, fail
-
Constructor Details
-
AbstractColumnarArrayOrderFieldDataTestCase
public AbstractColumnarArrayOrderFieldDataTestCase()
-
-
Method Details
-
fieldTypeName
-
setUp
- Overrides:
setUpin classorg.apache.lucene.tests.util.LuceneTestCase- Throws:
Exception
-
readFielddataValues
protected List<String> readFielddataValues(MapperService mapperService, CheckedConsumer<XContentBuilder, IOException> doc) throws IOExceptionIndexes a single document and returns the fielddata values exposed for it, ornullwhen the field has no non-null values for that document (an all-null or empty array, which fielddata reports as no values viaadvanceExact == false).- Throws:
IOException
-
randomDistinctValues
Generatesndistinct values for the field under test. The default produces fixed-length alphanumerics; subclasses whose values aren't plain strings (ex. ip) override this together withdecode(org.apache.lucene.util.BytesRef)andexpectedFielddataOrder(java.util.List<java.lang.String>). -
decode
Decodes a raw fielddataBytesRefinto the value's textual form. The default reads utf8; subclasses whose doc values store a non-utf8 encoding (ex. theIpFieldMapperInetAddressPoint encoding) override this. -
expectedFielddataOrder
Returnsvaluesin the order fielddata exposes them within a document (sorted, with duplicates kept). The default uses natural string ordering, which matchesBytesRefordering for equal-length alphanumerics; subclasses whose binary ordering differs from string ordering (ex. ip) override this. -
testMultiValuedReadsBackSorted
- Throws:
IOException
-
testDuplicatesKept
- Throws:
IOException
-
testNullsDropped
- Throws:
IOException
-
testSingleValue
- Throws:
IOException
-
testAllNullArrayHasNoValues
- Throws:
IOException
-
testEmptyArrayHasNoValues
- Throws:
IOException
-