Module org.elasticsearch.server
Package org.elasticsearch.index.mapper
Class KeywordFieldMapper.KeywordFieldType
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.KeywordFieldMapper.KeywordFieldType
- Enclosing class:
KeywordFieldMapper
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MappedFieldType
MappedFieldType.BlockLoaderContext, MappedFieldType.CollapseType, MappedFieldType.FielddataOperation, MappedFieldType.FieldExtractPreference, MappedFieldType.Relation -
Constructor Summary
ConstructorsConstructorDescriptionKeywordFieldType(String name) KeywordFieldType(String name, boolean isIndexed, boolean hasDocValues, Map<String, String> meta) KeywordFieldType(String name, org.apache.lucene.document.FieldType fieldType) KeywordFieldType(String name, org.apache.lucene.document.FieldType fieldType, NamedAnalyzer normalizer, NamedAnalyzer searchAnalyzer, NamedAnalyzer quoteAnalyzer, KeywordFieldMapper.Builder builder, boolean isSyntheticSource) KeywordFieldType(String name, NamedAnalyzer analyzer) -
Method Summary
Modifier and TypeMethodDescriptionblockLoader(MappedFieldType.BlockLoaderContext blContext) Returns a loader for ESQL ornullif the field doesn't support ESQL.Returns the collapse type of the field CollapseType.NONE means the field can'be used for collapsing.booleanfielddataBuilder(FieldDataContext fieldDataContext) 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.search.MultiTermQuery.RewriteMethod rewriteMethod) org.apache.lucene.index.TermsEnumgetTerms(org.apache.lucene.index.IndexReader reader, String prefix, boolean caseInsensitive, 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.booleanbooleanintValues that have more chars than the return value of this method will be skipped at parsing time.protected org.apache.lucene.util.BytesRefindexedValueForSearch(Object value) Returns the indexed value used to construct search "values".booleanbooleanReturns true if the field is searchable.org.apache.lucene.search.QuerynormalizedWildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, SearchExecutionContext context) org.apache.lucene.search.QueryprefixQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context) 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.QuerytermQuery(Object value, SearchExecutionContext context) Generates a query that will only match documents that contain the given value.org.apache.lucene.search.QuerytermQueryCaseInsensitive(Object value, SearchExecutionContext context) org.apache.lucene.search.QuerytermsQuery(Collection<?> values, SearchExecutionContext context) Build a constant-scoring query that matches all values.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.valueForDisplay(Object value) Given a value that comes from the stored fields API, convert it to the expected type.org.apache.lucene.search.QuerywildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context) Wildcard queries on keyword fields use the normalizer of the underlying field, regardless of their case sensitivity optionMethods inherited from class org.elasticsearch.index.mapper.StringFieldType
normalizeWildcardPattern, wildcardQueryMethods inherited from class org.elasticsearch.index.mapper.TermBasedFieldType
mayExistInIndexMethods inherited from class org.elasticsearch.index.mapper.SimpleMappedFieldType
rangeQueryMethods inherited from class org.elasticsearch.index.mapper.MappedFieldType
checkNoFormat, checkNoTimeZone, dimensions, distanceFeatureQuery, docValueFormat, existsQuery, failIfNoDocValues, failIfNotIndexed, failIfNotIndexedNorDocValuesFallback, familyTypeName, fieldHasValue, fuzzyIntervals, fuzzyQuery, getDefaultHighlighter, getMetricType, getTextSearchInfo, hasDocValues, isAggregatable, isFieldWithinQuery, isIndexed, isStored, meta, multiPhraseQuery, name, phrasePrefixQuery, phraseQuery, pointReaderIfPossible, prefixIntervals, prefixQuery, rangeIntervals, regexpIntervals, spanPrefixQuery, termIntervals, validateMatchedRoutingPath, wildcardIntervals, wildcardQuery
-
Constructor Details
-
KeywordFieldType
public KeywordFieldType(String name, org.apache.lucene.document.FieldType fieldType, NamedAnalyzer normalizer, NamedAnalyzer searchAnalyzer, NamedAnalyzer quoteAnalyzer, KeywordFieldMapper.Builder builder, boolean isSyntheticSource) -
KeywordFieldType
-
KeywordFieldType
-
KeywordFieldType
-
KeywordFieldType
-
-
Method Details
-
isSearchable
public boolean isSearchable()Description copied from class:MappedFieldTypeReturns true if the field is searchable.- Overrides:
isSearchablein classMappedFieldType
-
termQuery
Description copied from class:MappedFieldTypeGenerates a query that will only match documents that contain the given value. The default implementation returns aTermQueryover the value bytes- Overrides:
termQueryin classTermBasedFieldType
-
termsQuery
public org.apache.lucene.search.Query termsQuery(Collection<?> values, SearchExecutionContext context) Description copied from class:MappedFieldTypeBuild a constant-scoring query that matches all values. The default implementation uses aConstantScoreQueryaround aBooleanQuerywhoseBooleanClause.Occur.SHOULDclauses are generated withMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.SearchExecutionContext).- Overrides:
termsQueryin classTermBasedFieldType
-
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, @Nullable org.apache.lucene.search.MultiTermQuery.RewriteMethod rewriteMethod) - Overrides:
fuzzyQueryin classStringFieldType
-
prefixQuery
public org.apache.lucene.search.Query prefixQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context) - Overrides:
prefixQueryin classStringFieldType
-
termQueryCaseInsensitive
public org.apache.lucene.search.Query termQueryCaseInsensitive(Object value, SearchExecutionContext context) - Overrides:
termQueryCaseInsensitivein classTermBasedFieldType
-
getTerms
public org.apache.lucene.index.TermsEnum getTerms(org.apache.lucene.index.IndexReader reader, String prefix, boolean caseInsensitive, String searchAfter) throws IOException Description 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:
reader- an index readerprefix- the partially complete word the user has typed (can be empty)caseInsensitive- if prefix matches should be case insensitivesearchAfter- - 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
- Throws:
IOException- Errors accessing data
-
typeName
Description copied from class:MappedFieldTypeReturns the name of this type, as would be specified in mapping properties- Specified by:
typeNamein classMappedFieldType
-
eagerGlobalOrdinals
public boolean eagerGlobalOrdinals()- Overrides:
eagerGlobalOrdinalsin classMappedFieldType- Returns:
- if this field type should load global ordinals eagerly
-
blockLoader
Description copied from class:MappedFieldTypeReturns a loader for ESQL ornullif the field doesn't support ESQL.- Overrides:
blockLoaderin classMappedFieldType
-
fielddataBuilder
Description copied from class:MappedFieldTypeReturn a fielddata builder for this field- Overrides:
fielddataBuilderin classMappedFieldType- Parameters:
fieldDataContext- the context for the fielddata
-
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 throwUnsupportedOperationExceptionsince this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.- Specified by:
valueFetcherin classMappedFieldType
-
valueForDisplay
Description copied from class:MappedFieldTypeGiven a value that comes from the stored fields API, convert it to the expected type. For instance a date field would store dates as longs and format it back to a string in this method.- Overrides:
valueForDisplayin classMappedFieldType
-
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
-
wildcardQuery
public org.apache.lucene.search.Query wildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, boolean caseInsensitive, SearchExecutionContext context) Wildcard queries on keyword fields use the normalizer of the underlying field, regardless of their case sensitivity option- Overrides:
wildcardQueryin classStringFieldType
-
normalizedWildcardQuery
public org.apache.lucene.search.Query normalizedWildcardQuery(String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, SearchExecutionContext context) - Overrides:
normalizedWildcardQueryin 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
-
collapseType
Description copied from class:MappedFieldTypeReturns the collapse type of the field CollapseType.NONE means the field can'be used for collapsing.- Overrides:
collapseTypein classMappedFieldType- Returns:
- collapse type of the field
-
ignoreAbove
public int ignoreAbove()Values that have more chars than the return value of this method will be skipped at parsing time. -
isDimension
public boolean isDimension()- Overrides:
isDimensionin classMappedFieldType- Returns:
- true if field has been marked as a dimension field
-
hasScriptValues
public boolean hasScriptValues()- Overrides:
hasScriptValuesin classMappedFieldType- Returns:
- true if field has script values.
-
hasNormalizer
public boolean hasNormalizer()
-