Class FlattenedFieldMapper.KeyedFlattenedFieldType
java.lang.Object
org.elasticsearch.index.mapper.MappedFieldType
org.elasticsearch.index.mapper.SimpleMappedFieldType
org.elasticsearch.index.mapper.TermBasedFieldType
org.elasticsearch.index.mapper.StringFieldType
org.elasticsearch.index.mapper.flattened.FlattenedFieldMapper.KeyedFlattenedFieldType
- Enclosing class:
- FlattenedFieldMapper
A field type that represents the values under a particular JSON key, used
when searching under a specific key as in 'my_flattened.key: some_value'.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MappedFieldType
MappedFieldType.CollapseType, MappedFieldType.Relation -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.lucene.search.QueryexistsQuery(SearchExecutionContext context)fielddataBuilder(String fullyQualifiedIndexName, Supplier<SearchLookup> searchLookup)Return a fielddata builder for this fieldorg.apache.lucene.search.QueryfuzzyQuery(Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions, SearchExecutionContext context)org.apache.lucene.index.TermsEnumgetTerms(boolean caseInsensitive, String string, SearchExecutionContext queryShardContext, String searchAfter)This method is used to support auto-complete services and implementations are expected to find terms beginning with the provided string very quickly.org.apache.lucene.util.BytesRefindexedValueForSearch(Object value)Returns the indexed value used to construct search "values".key()org.apache.lucene.search.QueryrangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, SearchExecutionContext context)Same asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, SearchExecutionContext)but without the trouble of relations or date-specific options.org.apache.lucene.search.QueryregexpQuery(String value, int syntaxFlags, int matchFlags, int maxDeterminizedStates, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, SearchExecutionContext context)org.apache.lucene.search.QuerytermQueryCaseInsensitive(Object value, SearchExecutionContext context)typeName()Returns the name of this type, as would be specified in mapping propertiesvalueFetcher(SearchExecutionContext context, String format)Create a helper class to fetch field values during theFetchFieldsPhase.org.apache.lucene.search.QuerywildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context)Methods inherited from class org.elasticsearch.index.mapper.StringFieldType
normalizedWildcardQuery, normalizeWildcardPattern, prefixQuery, wildcardQueryMethods inherited from class org.elasticsearch.index.mapper.TermBasedFieldType
termQuery, termsQueryMethods inherited from class org.elasticsearch.index.mapper.SimpleMappedFieldType
rangeQueryMethods inherited from class org.elasticsearch.index.mapper.MappedFieldType
boost, collapseType, distanceFeatureQuery, docValueFormat, eagerGlobalOrdinals, extractTerm, failIfNoDocValues, failIfNotIndexed, familyTypeName, fuzzyIntervals, getTextSearchInfo, hasDocValues, isAggregatable, isFieldWithinQuery, isSearchable, isStored, meta, multiPhraseQuery, name, phrasePrefixQuery, phraseQuery, pointReaderIfPossible, prefixIntervals, prefixQuery, setBoost, spanPrefixQuery, termIntervals, valueForDisplay, wildcardIntervals, wildcardQuery
-
Method Details
-
typeName
Description copied from class:MappedFieldTypeReturns the name of this type, as would be specified in mapping properties- Specified by:
typeNamein classMappedFieldType
-
key
-
existsQuery
- Overrides:
existsQueryin classMappedFieldType
-
rangeQuery
public org.apache.lucene.search.Query rangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, SearchExecutionContext context)Description copied from class:SimpleMappedFieldTypeSame asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, SearchExecutionContext)but without the trouble of relations or date-specific options.- Overrides:
rangeQueryin classStringFieldType
-
fuzzyQuery
public org.apache.lucene.search.Query fuzzyQuery(Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions, SearchExecutionContext context)- Overrides:
fuzzyQueryin classStringFieldType
-
regexpQuery
public org.apache.lucene.search.Query regexpQuery(String value, int syntaxFlags, int matchFlags, int maxDeterminizedStates, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, SearchExecutionContext context)- Overrides:
regexpQueryin classStringFieldType
-
wildcardQuery
public org.apache.lucene.search.Query wildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context)- Overrides:
wildcardQueryin classStringFieldType
-
termQueryCaseInsensitive
public org.apache.lucene.search.Query termQueryCaseInsensitive(Object value, SearchExecutionContext context)- Overrides:
termQueryCaseInsensitivein classTermBasedFieldType
-
getTerms
public org.apache.lucene.index.TermsEnum getTerms(boolean caseInsensitive, String string, SearchExecutionContext queryShardContext, String searchAfter) throws IOExceptionDescription copied from class:MappedFieldTypeThis method is used to support auto-complete services and implementations are expected to find terms beginning with the provided string very quickly. If fields cannot look up matching terms quickly they should return null. The returned TermEnum should implement next(), term() and doc_freq() methods but postings etc are not required.- Overrides:
getTermsin classMappedFieldType- Parameters:
caseInsensitive- if matches should be case insensitivestring- the partially complete word the user has typed (can be empty)queryShardContext- the shard contextsearchAfter- - usually null. If supplied the TermsEnum result must be positioned after the provided term (used for pagination)- Returns:
- null or an enumeration of matching terms and their doc frequencies
- Throws:
IOException- Errors accessing data
-
indexedValueForSearch
Description copied from class:TermBasedFieldTypeReturns the indexed value used to construct search "values". This method is used for the default implementations of most query factory methods such asTermBasedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.SearchExecutionContext).- Overrides:
indexedValueForSearchin classTermBasedFieldType
-
fielddataBuilder
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName, Supplier<SearchLookup> searchLookup)Description copied from class:MappedFieldTypeReturn a fielddata builder for this field- Overrides:
fielddataBuilderin classMappedFieldType- Parameters:
fullyQualifiedIndexName- the name of the index this field-data is build forsearchLookup- aSearchLookupsupplier to allow for accessing other fields values in the context of runtime fields
-
valueFetcher
Description copied from class:MappedFieldTypeCreate a helper class to fetch field values during theFetchFieldsPhase.New field types must implement this method in order to support the search 'fields' option. Except for metadata fields, field types should not throw
UnsupportedOperationExceptionsince this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.- Specified by:
valueFetcherin classMappedFieldType
-