org.elasticsearch.index.mapper.core
Class NumberFieldMapper<T extends Number>
java.lang.Object
org.elasticsearch.index.mapper.core.AbstractFieldMapper<T>
org.elasticsearch.index.mapper.core.NumberFieldMapper<T>
- All Implemented Interfaces:
- ToXContent, FieldMapper<T>, AllFieldMapper.IncludeInAll, Mapper
- Direct Known Subclasses:
- BoostFieldMapper, ByteFieldMapper, DateFieldMapper, DoubleFieldMapper, FloatFieldMapper, IntegerFieldMapper, IpFieldMapper, LongFieldMapper, ShortFieldMapper
public abstract class NumberFieldMapper<T extends Number>
- extends AbstractFieldMapper<T>
- implements AllFieldMapper.IncludeInAll
Constructor Summary |
protected |
NumberFieldMapper(FieldMapper.Names names,
int precisionStep,
String fuzzyFactor,
org.apache.lucene.document.Field.Index index,
org.apache.lucene.document.Field.Store store,
float boost,
boolean omitNorms,
org.apache.lucene.index.FieldInfo.IndexOptions indexOptions,
boolean ignoreMalformed,
NamedAnalyzer indexAnalyzer,
NamedAnalyzer searchAnalyzer)
|
Method Summary |
void |
close()
|
protected void |
doXContentBody(XContentBuilder builder)
|
abstract FieldDataType |
fieldDataType()
|
org.apache.lucene.search.Filter |
fieldFilter(String value,
QueryParseContext context)
Numeric field level filter are basically range queries with same value and included. |
org.apache.lucene.search.Query |
fieldQuery(String value,
QueryParseContext context)
Numeric field level query are basically range queries with same value and included. |
abstract org.apache.lucene.search.Query |
fuzzyQuery(String value,
double minSim,
int prefixLength,
int maxExpansions)
|
abstract org.apache.lucene.search.Query |
fuzzyQuery(String value,
String minSim,
int prefixLength,
int maxExpansions)
|
void |
includeInAll(Boolean includeInAll)
|
void |
includeInAllIfNotSet(Boolean includeInAll)
|
protected abstract org.apache.lucene.document.Fieldable |
innerParseCreateField(ParseContext context)
|
protected abstract int |
maxPrecisionStep()
|
void |
merge(Mapper mergeWith,
MergeContext mergeContext)
|
protected org.apache.lucene.document.Fieldable |
parseCreateField(ParseContext context)
|
protected double |
parseFuzzyFactor(String fuzzyFactor)
|
protected org.apache.lucene.analysis.NumericTokenStream |
popCachedStream()
|
int |
precisionStep()
|
abstract org.apache.lucene.search.Filter |
rangeFilter(FieldDataCache fieldDataCache,
String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
QueryParseContext context)
A range filter based on the field data cache. |
abstract org.apache.lucene.search.Filter |
rangeFilter(String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
QueryParseContext context)
Constructs a range query filter based on the mapper. |
abstract org.apache.lucene.search.Query |
rangeQuery(String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
QueryParseContext context)
Constructs a range query based on the mapper. |
boolean |
useFieldQueryWithQueryString()
Use the field query created here when matching on numbers. |
String |
valueAsString(org.apache.lucene.document.Fieldable field)
Returns the actual value of the field as string. |
Object |
valueForSearch(org.apache.lucene.document.Fieldable field)
Override the default behavior (to return the string, and return the actual Number instance). |
Methods inherited from class org.elasticsearch.index.mapper.core.AbstractFieldMapper |
analyzed, boost, contentType, customBoost, index, indexAnalyzer, indexed, indexedValue, indexOptions, indexOptionToString, name, names, nullValueFilter, omitNorms, parse, prefixFilter, prefixQuery, queryStringTermQuery, searchAnalyzer, searchQuoteAnalyzer, store, stored, termVector, toXContent, traverse, traverse |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
precisionStep
protected int precisionStep
fuzzyFactor
protected String fuzzyFactor
dFuzzyFactor
protected double dFuzzyFactor
includeInAll
protected Boolean includeInAll
ignoreMalformed
protected boolean ignoreMalformed
NumberFieldMapper
protected NumberFieldMapper(FieldMapper.Names names,
int precisionStep,
@Nullable
String fuzzyFactor,
org.apache.lucene.document.Field.Index index,
org.apache.lucene.document.Field.Store store,
float boost,
boolean omitNorms,
org.apache.lucene.index.FieldInfo.IndexOptions indexOptions,
boolean ignoreMalformed,
NamedAnalyzer indexAnalyzer,
NamedAnalyzer searchAnalyzer)
parseFuzzyFactor
protected double parseFuzzyFactor(String fuzzyFactor)
includeInAll
public void includeInAll(Boolean includeInAll)
- Specified by:
includeInAll
in interface AllFieldMapper.IncludeInAll
includeInAllIfNotSet
public void includeInAllIfNotSet(Boolean includeInAll)
- Specified by:
includeInAllIfNotSet
in interface AllFieldMapper.IncludeInAll
maxPrecisionStep
protected abstract int maxPrecisionStep()
precisionStep
public int precisionStep()
parseCreateField
protected org.apache.lucene.document.Fieldable parseCreateField(ParseContext context)
throws IOException
- Specified by:
parseCreateField
in class AbstractFieldMapper<T extends Number>
- Throws:
IOException
innerParseCreateField
protected abstract org.apache.lucene.document.Fieldable innerParseCreateField(ParseContext context)
throws IOException
- Throws:
IOException
useFieldQueryWithQueryString
public boolean useFieldQueryWithQueryString()
- Use the field query created here when matching on numbers.
- Specified by:
useFieldQueryWithQueryString
in interface FieldMapper<T extends Number>
- Overrides:
useFieldQueryWithQueryString
in class AbstractFieldMapper<T extends Number>
fieldQuery
public org.apache.lucene.search.Query fieldQuery(String value,
@Nullable
QueryParseContext context)
- Numeric field level query are basically range queries with same value and included. That's the recommended
way to execute it.
- Specified by:
fieldQuery
in interface FieldMapper<T extends Number>
- Overrides:
fieldQuery
in class AbstractFieldMapper<T extends Number>
fuzzyQuery
public abstract org.apache.lucene.search.Query fuzzyQuery(String value,
String minSim,
int prefixLength,
int maxExpansions)
- Specified by:
fuzzyQuery
in interface FieldMapper<T extends Number>
- Overrides:
fuzzyQuery
in class AbstractFieldMapper<T extends Number>
fuzzyQuery
public abstract org.apache.lucene.search.Query fuzzyQuery(String value,
double minSim,
int prefixLength,
int maxExpansions)
- Specified by:
fuzzyQuery
in interface FieldMapper<T extends Number>
- Overrides:
fuzzyQuery
in class AbstractFieldMapper<T extends Number>
fieldFilter
public org.apache.lucene.search.Filter fieldFilter(String value,
@Nullable
QueryParseContext context)
- Numeric field level filter are basically range queries with same value and included. That's the recommended
way to execute it.
- Specified by:
fieldFilter
in interface FieldMapper<T extends Number>
- Overrides:
fieldFilter
in class AbstractFieldMapper<T extends Number>
rangeQuery
public abstract org.apache.lucene.search.Query rangeQuery(String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
@Nullable
QueryParseContext context)
- Description copied from interface:
FieldMapper
- Constructs a range query based on the mapper.
- Specified by:
rangeQuery
in interface FieldMapper<T extends Number>
- Overrides:
rangeQuery
in class AbstractFieldMapper<T extends Number>
rangeFilter
public abstract org.apache.lucene.search.Filter rangeFilter(String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
@Nullable
QueryParseContext context)
- Description copied from interface:
FieldMapper
- Constructs a range query filter based on the mapper.
- Specified by:
rangeFilter
in interface FieldMapper<T extends Number>
- Overrides:
rangeFilter
in class AbstractFieldMapper<T extends Number>
rangeFilter
public abstract org.apache.lucene.search.Filter rangeFilter(FieldDataCache fieldDataCache,
String lowerTerm,
String upperTerm,
boolean includeLower,
boolean includeUpper,
@Nullable
QueryParseContext context)
- A range filter based on the field data cache.
valueForSearch
public Object valueForSearch(org.apache.lucene.document.Fieldable field)
- Override the default behavior (to return the string, and return the actual Number instance).
- Specified by:
valueForSearch
in interface FieldMapper<T extends Number>
- Overrides:
valueForSearch
in class AbstractFieldMapper<T extends Number>
valueAsString
public String valueAsString(org.apache.lucene.document.Fieldable field)
- Description copied from interface:
FieldMapper
- Returns the actual value of the field as string.
- Specified by:
valueAsString
in interface FieldMapper<T extends Number>
merge
public void merge(Mapper mergeWith,
MergeContext mergeContext)
throws MergeMappingException
- Specified by:
merge
in interface Mapper
- Overrides:
merge
in class AbstractFieldMapper<T extends Number>
- Throws:
MergeMappingException
close
public void close()
- Specified by:
close
in interface Mapper
- Overrides:
close
in class AbstractFieldMapper<T extends Number>
fieldDataType
public abstract FieldDataType fieldDataType()
- Specified by:
fieldDataType
in interface FieldMapper<T extends Number>
- Overrides:
fieldDataType
in class AbstractFieldMapper<T extends Number>
popCachedStream
protected org.apache.lucene.analysis.NumericTokenStream popCachedStream()
doXContentBody
protected void doXContentBody(XContentBuilder builder)
throws IOException
- Overrides:
doXContentBody
in class AbstractFieldMapper<T extends Number>
- Throws:
IOException
Copyright © 2009-2012. All Rights Reserved.