DateFieldMapper.DateFieldType
, GeoPointFieldMapper.GeoPointFieldType
, GeoShapeFieldMapper.GeoShapeFieldType
, RangeFieldMapper.RangeFieldType
, SimpleMappedFieldType
public abstract class MappedFieldType
extends org.apache.lucene.document.FieldType
Modifier and Type | Class | Description |
---|---|---|
static class |
MappedFieldType.Relation |
An enum used to describe the relation between the range of terms in a
shard when compared with a query range
|
Modifier | Constructor | Description |
---|---|---|
|
MappedFieldType() |
|
protected |
MappedFieldType(MappedFieldType ref) |
Modifier and Type | Method | Description |
---|---|---|
float |
boost() |
|
void |
checkCompatibility(MappedFieldType other,
java.util.List<java.lang.String> conflicts,
boolean strict) |
Checks for any conflicts between this field type and other.
|
abstract MappedFieldType |
clone() |
|
DocValueFormat |
docValueFormat(java.lang.String format,
org.joda.time.DateTimeZone timeZone) |
Return a
DocValueFormat that can be used to display and parse
values as returned by the fielddata API. |
boolean |
eagerGlobalOrdinals() |
|
boolean |
equals(java.lang.Object o) |
|
abstract org.apache.lucene.search.Query |
existsQuery(QueryShardContext context) |
|
static org.apache.lucene.index.Term |
extractTerm(org.apache.lucene.search.Query termQuery) |
Extract a
Term from a query created with termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext) by
recursively removing BoostQuery wrappers. |
protected void |
failIfNoDocValues() |
|
protected void |
failIfNotIndexed() |
|
IndexFieldData.Builder |
fielddataBuilder(java.lang.String fullyQualifiedIndexName) |
Return a fielddata builder for this field
|
org.apache.lucene.search.Query |
fuzzyQuery(java.lang.Object value,
Fuzziness fuzziness,
int prefixLength,
int maxExpansions,
boolean transpositions) |
|
boolean |
hasDocValues() |
|
int |
hashCode() |
|
NamedAnalyzer |
indexAnalyzer() |
|
boolean |
isAggregatable() |
Returns true if the field is aggregatable.
|
MappedFieldType.Relation |
isFieldWithinQuery(org.apache.lucene.index.IndexReader reader,
java.lang.Object from,
java.lang.Object to,
boolean includeLower,
boolean includeUpper,
org.joda.time.DateTimeZone timeZone,
DateMathParser dateMathParser,
QueryRewriteContext context) |
Return whether all values of the given
IndexReader are within the range,
outside the range or cross the range. |
boolean |
isSearchable() |
Returns true if the field is searchable.
|
java.lang.String |
name() |
|
java.lang.Object |
nullValue() |
Returns the value that should be added when JSON null is found, or null if no value should be added
|
java.lang.String |
nullValueAsString() |
Returns the null value stringified, so it can be used for e.g.
|
org.apache.lucene.search.Query |
nullValueQuery() |
|
org.apache.lucene.search.Query |
prefixQuery(java.lang.String value,
org.apache.lucene.search.MultiTermQuery.RewriteMethod method,
QueryShardContext context) |
|
org.apache.lucene.search.Query |
queryStringTermQuery(org.apache.lucene.index.Term term) |
A term query to use when parsing a query string.
|
org.apache.lucene.search.Query |
rangeQuery(java.lang.Object lowerTerm,
java.lang.Object upperTerm,
boolean includeLower,
boolean includeUpper,
ShapeRelation relation,
org.joda.time.DateTimeZone timeZone,
DateMathParser parser,
QueryShardContext context) |
Factory method for range queries.
|
org.apache.lucene.search.Query |
regexpQuery(java.lang.String value,
int flags,
int maxDeterminizedStates,
org.apache.lucene.search.MultiTermQuery.RewriteMethod method,
QueryShardContext context) |
|
NamedAnalyzer |
searchAnalyzer() |
|
NamedAnalyzer |
searchQuoteAnalyzer() |
|
void |
setBoost(float boost) |
|
void |
setEagerGlobalOrdinals(boolean eagerGlobalOrdinals) |
|
void |
setHasDocValues(boolean hasDocValues) |
|
void |
setIndexAnalyzer(NamedAnalyzer analyzer) |
|
void |
setName(java.lang.String name) |
|
void |
setNullValue(java.lang.Object nullValue) |
Sets the null value and initializes the string version
|
void |
setSearchAnalyzer(NamedAnalyzer analyzer) |
|
void |
setSearchQuoteAnalyzer(NamedAnalyzer analyzer) |
|
void |
setSimilarity(SimilarityProvider similarity) |
|
SimilarityProvider |
similarity() |
|
abstract org.apache.lucene.search.Query |
termQuery(java.lang.Object value,
QueryShardContext context) |
Generates a query that will only match documents that contain the given value.
|
org.apache.lucene.search.Query |
termsQuery(java.util.List<?> values,
QueryShardContext context) |
Build a constant-scoring query that matches all values.
|
abstract java.lang.String |
typeName() |
Returns the name of this type, as would be specified in mapping properties
|
java.lang.Object |
valueForDisplay(java.lang.Object value) |
Given a value that comes from the stored fields API, convert it to the
expected type.
|
checkIfFrozen, docValuesType, freeze, indexOptions, omitNorms, pointDimensionCount, pointNumBytes, setDimensions, setDocValuesType, setIndexOptions, setOmitNorms, setStored, setStoreTermVectorOffsets, setStoreTermVectorPayloads, setStoreTermVectorPositions, setStoreTermVectors, setTokenized, stored, storeTermVectorOffsets, storeTermVectorPayloads, storeTermVectorPositions, storeTermVectors, tokenized, toString
protected MappedFieldType(MappedFieldType ref)
public MappedFieldType()
public abstract MappedFieldType clone()
clone
in class java.lang.Object
public IndexFieldData.Builder fielddataBuilder(java.lang.String fullyQualifiedIndexName)
fullyQualifiedIndexName
- the name of the index this field-data is build forjava.lang.IllegalArgumentException
- if the fielddata is not supported on this type.
An IllegalArgumentException is needed in order to return an http error 400
when this error occurs in a request. see: ExceptionsHelper.status(java.lang.Throwable)
public boolean equals(java.lang.Object o)
equals
in class org.apache.lucene.document.FieldType
public int hashCode()
hashCode
in class org.apache.lucene.document.FieldType
public abstract java.lang.String typeName()
public void checkCompatibility(MappedFieldType other, java.util.List<java.lang.String> conflicts, boolean strict)
public java.lang.String name()
public void setName(java.lang.String name)
public float boost()
public void setBoost(float boost)
public boolean hasDocValues()
public void setHasDocValues(boolean hasDocValues)
public NamedAnalyzer indexAnalyzer()
public void setIndexAnalyzer(NamedAnalyzer analyzer)
public NamedAnalyzer searchAnalyzer()
public void setSearchAnalyzer(NamedAnalyzer analyzer)
public NamedAnalyzer searchQuoteAnalyzer()
public void setSearchQuoteAnalyzer(NamedAnalyzer analyzer)
public SimilarityProvider similarity()
public void setSimilarity(SimilarityProvider similarity)
public java.lang.Object nullValue()
public java.lang.String nullValueAsString()
public void setNullValue(java.lang.Object nullValue)
public java.lang.Object valueForDisplay(java.lang.Object value)
public boolean isSearchable()
public boolean isAggregatable()
public abstract org.apache.lucene.search.Query termQuery(java.lang.Object value, @Nullable QueryShardContext context)
TermQuery
over the value bytes,
boosted by boost()
.java.lang.IllegalArgumentException
- if value
cannot be converted to the expected data typepublic org.apache.lucene.search.Query termsQuery(java.util.List<?> values, @Nullable QueryShardContext context)
ConstantScoreQuery
around a BooleanQuery
whose BooleanClause.Occur.SHOULD
clauses
are generated with termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext)
.public org.apache.lucene.search.Query rangeQuery(java.lang.Object lowerTerm, java.lang.Object upperTerm, boolean includeLower, boolean includeUpper, ShapeRelation relation, org.joda.time.DateTimeZone timeZone, DateMathParser parser, QueryShardContext context)
relation
- the relation, nulls should be interpreted like INTERSECTSpublic org.apache.lucene.search.Query fuzzyQuery(java.lang.Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions)
public org.apache.lucene.search.Query prefixQuery(java.lang.String value, @Nullable org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
public org.apache.lucene.search.Query regexpQuery(java.lang.String value, int flags, int maxDeterminizedStates, @Nullable org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
public org.apache.lucene.search.Query nullValueQuery()
public abstract org.apache.lucene.search.Query existsQuery(QueryShardContext context)
public MappedFieldType.Relation isFieldWithinQuery(org.apache.lucene.index.IndexReader reader, java.lang.Object from, java.lang.Object to, boolean includeLower, boolean includeUpper, org.joda.time.DateTimeZone timeZone, DateMathParser dateMathParser, QueryRewriteContext context) throws java.io.IOException
IndexReader
are within the range,
outside the range or cross the range. The default implementation returns
MappedFieldType.Relation.INTERSECTS
, which is always fine to return when there is
no way to check whether values are actually within bounds.java.io.IOException
@Nullable public org.apache.lucene.search.Query queryStringTermQuery(org.apache.lucene.index.Term term)
protected final void failIfNoDocValues()
java.lang.IllegalArgumentException
- if the fielddata is not supported on this type.
An IllegalArgumentException is needed in order to return an http error 400
when this error occurs in a request. see: ExceptionsHelper.status(java.lang.Throwable)
protected final void failIfNotIndexed()
public boolean eagerGlobalOrdinals()
public void setEagerGlobalOrdinals(boolean eagerGlobalOrdinals)
public DocValueFormat docValueFormat(@Nullable java.lang.String format, org.joda.time.DateTimeZone timeZone)
DocValueFormat
that can be used to display and parse
values as returned by the fielddata API.
The default implementation returns a DocValueFormat.RAW
.public static org.apache.lucene.index.Term extractTerm(org.apache.lucene.search.Query termQuery)
Term
from a query created with termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext)
by
recursively removing BoostQuery
wrappers.java.lang.IllegalArgumentException
- if the wrapped query is not a TermQuery