Module org.elasticsearch.server
Package org.elasticsearch.index.mapper
Class IpFieldMapper.IpFieldType
java.lang.Object
org.elasticsearch.index.mapper.MappedFieldType
org.elasticsearch.index.mapper.SimpleMappedFieldType
org.elasticsearch.index.mapper.IpFieldMapper.IpFieldType
- Enclosing class:
- IpFieldMapper
-
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
ConstructorDescriptionIpFieldType
(String name) IpFieldType
(String name, boolean isIndexed) IpFieldType
(String name, boolean isIndexed, boolean hasDocValues) IpFieldType
(String name, boolean indexed, boolean stored, boolean hasDocValues, InetAddress nullValue, FieldValues<InetAddress> scriptValues, Map<String, String> meta, boolean isDimension) -
Method Summary
Modifier and TypeMethodDescriptionblockLoader
(MappedFieldType.BlockLoaderContext blContext) Returns a loader for ESQL ornull
if the field doesn't support ESQL.docValueFormat
(String format, ZoneId timeZone) Pick aDocValueFormat
that can be used to display and parse values of fields of this type.fielddataBuilder
(FieldDataContext fieldDataContext) Return a fielddata builder for this fieldorg.apache.lucene.index.TermsEnum
getTerms
(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.boolean
boolean
Returns true if the field is searchable.boolean
mayExistInIndex
(SearchExecutionContext context) static org.apache.lucene.search.Query
rangeQuery
(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, BiFunction<InetAddress, InetAddress, org.apache.lucene.search.Query> builder) Processes query bounds intolong
s and delegates the providedbuilder
to build a range query.org.apache.lucene.search.Query
rangeQuery
(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.Query
termQuery
(Object value, SearchExecutionContext context) Generates a query that will only match documents that contain the given value.org.apache.lucene.search.Query
termsQuery
(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.Methods inherited from class org.elasticsearch.index.mapper.SimpleMappedFieldType
rangeQuery
Methods inherited from class org.elasticsearch.index.mapper.MappedFieldType
checkNoFormat, checkNoTimeZone, collapseType, dimensions, distanceFeatureQuery, eagerGlobalOrdinals, existsQuery, extractTerm, failIfNoDocValues, failIfNotIndexed, failIfNotIndexedNorDocValuesFallback, familyTypeName, fieldHasValue, fuzzyIntervals, fuzzyQuery, fuzzyQuery, getMetricType, getTextSearchInfo, hasDocValues, isAggregatable, isFieldWithinQuery, isIndexed, isStored, meta, multiPhraseQuery, name, normalizedWildcardQuery, phrasePrefixQuery, phraseQuery, pointReaderIfPossible, prefixIntervals, prefixQuery, prefixQuery, regexpQuery, spanPrefixQuery, termIntervals, termQueryCaseInsensitive, validateMatchedRoutingPath, wildcardIntervals, wildcardQuery, wildcardQuery
-
Constructor Details
-
IpFieldType
public IpFieldType(String name, boolean indexed, boolean stored, boolean hasDocValues, InetAddress nullValue, FieldValues<InetAddress> scriptValues, Map<String, String> meta, boolean isDimension) -
IpFieldType
-
IpFieldType
-
IpFieldType
-
-
Method Details
-
typeName
Description copied from class:MappedFieldType
Returns the name of this type, as would be specified in mapping properties- Specified by:
typeName
in classMappedFieldType
-
isSearchable
public boolean isSearchable()Description copied from class:MappedFieldType
Returns true if the field is searchable.- Overrides:
isSearchable
in classMappedFieldType
-
mayExistInIndex
- Overrides:
mayExistInIndex
in classMappedFieldType
- Returns:
- if the field may have values in the underlying index
Note that this should only return
false
if it is not possible for it to match on a term query. - See Also:
-
valueFetcher
Description copied from class:MappedFieldType
Create 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 throwUnsupportedOperationException
since this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.- Specified by:
valueFetcher
in classMappedFieldType
-
termQuery
public org.apache.lucene.search.Query termQuery(Object value, @Nullable SearchExecutionContext context) Description copied from class:MappedFieldType
Generates a query that will only match documents that contain the given value. The default implementation returns aTermQuery
over the value bytes- Specified by:
termQuery
in classMappedFieldType
-
termsQuery
public org.apache.lucene.search.Query termsQuery(Collection<?> values, SearchExecutionContext context) Description copied from class:MappedFieldType
Build a constant-scoring query that matches all values. The default implementation uses aConstantScoreQuery
around aBooleanQuery
whoseBooleanClause.Occur.SHOULD
clauses are generated withMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.SearchExecutionContext)
.- Overrides:
termsQuery
in classMappedFieldType
-
rangeQuery
public org.apache.lucene.search.Query rangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, SearchExecutionContext context) Description copied from class:SimpleMappedFieldType
Same asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, SearchExecutionContext)
but without the trouble of relations or date-specific options.- Overrides:
rangeQuery
in classSimpleMappedFieldType
-
rangeQuery
public static org.apache.lucene.search.Query rangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, BiFunction<InetAddress, InetAddress, org.apache.lucene.search.Query> builder) Processes query bounds intolong
s and delegates the providedbuilder
to build a range query. -
blockLoader
Description copied from class:MappedFieldType
Returns a loader for ESQL ornull
if the field doesn't support ESQL.- Overrides:
blockLoader
in classMappedFieldType
-
fielddataBuilder
Description copied from class:MappedFieldType
Return a fielddata builder for this field- Overrides:
fielddataBuilder
in classMappedFieldType
- Parameters:
fieldDataContext
- the context for the fielddata
-
valueForDisplay
Description copied from class:MappedFieldType
Given 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:
valueForDisplay
in classMappedFieldType
-
docValueFormat
Description copied from class:MappedFieldType
Pick aDocValueFormat
that can be used to display and parse values of fields of this type.- Overrides:
docValueFormat
in classMappedFieldType
-
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:MappedFieldType
This 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:
getTerms
in 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
-
isDimension
public boolean isDimension()- Overrides:
isDimension
in classMappedFieldType
- Returns:
- true if field has been marked as a dimension field
-