org.elasticsearch.index.mapper.json
Class JsonNumberFieldMapper<T extends java.lang.Number>

java.lang.Object
  extended by org.elasticsearch.index.mapper.json.JsonFieldMapper<T>
      extended by org.elasticsearch.index.mapper.json.JsonNumberFieldMapper<T>
All Implemented Interfaces:
FieldMapper<T>, JsonIncludeInAllMapper, JsonMapper, ToJson
Direct Known Subclasses:
JsonBoostFieldMapper, JsonDateFieldMapper, JsonDoubleFieldMapper, JsonFloatFieldMapper, JsonIntegerFieldMapper, JsonLongFieldMapper, JsonShortFieldMapper

public abstract class JsonNumberFieldMapper<T extends java.lang.Number>
extends JsonFieldMapper<T>
implements JsonIncludeInAllMapper


Nested Class Summary
static class JsonNumberFieldMapper.Builder<T extends JsonNumberFieldMapper.Builder,Y extends JsonNumberFieldMapper>
           
protected static class JsonNumberFieldMapper.CachedNumericTokenStream
          A wrapper around a numeric stream allowing to reuse it by implementing the end method which returns this stream back to the thread local cache.
static class JsonNumberFieldMapper.Defaults
           
 
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.json.JsonFieldMapper
JsonFieldMapper.OpenBuilder<T extends JsonFieldMapper.Builder,Y extends JsonFieldMapper>
 
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.json.JsonMapper
JsonMapper.BuilderContext
 
Nested classes/interfaces inherited from interface org.elasticsearch.util.json.ToJson
ToJson.MapParams, ToJson.Params
 
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.FieldMapper
FieldMapper.Names
 
Field Summary
protected  java.lang.Boolean includeInAll
           
protected  int precisionStep
           
 
Fields inherited from class org.elasticsearch.index.mapper.json.JsonFieldMapper
boost, index, indexAnalyzer, names, omitNorms, omitTermFreqAndPositions, searchAnalyzer, store, termVector
 
Fields inherited from interface org.elasticsearch.index.mapper.json.JsonMapper
EMPTY_ARRAY
 
Fields inherited from interface org.elasticsearch.util.json.ToJson
EMPTY_PARAMS
 
Constructor Summary
protected JsonNumberFieldMapper(FieldMapper.Names names, int precisionStep, org.apache.lucene.document.Field.Index index, org.apache.lucene.document.Field.Store store, float boost, boolean omitNorms, boolean omitTermFreqAndPositions, NamedAnalyzer indexAnalyzer, NamedAnalyzer searchAnalyzer)
           
 
Method Summary
protected  void doJsonBody(JsonBuilder builder)
           
 void includeInAll(java.lang.Boolean includeInAll)
           
protected abstract  int maxPrecisionStep()
           
protected  JsonNumberFieldMapper.CachedNumericTokenStream popCachedStream(int precisionStep)
          Removes a cached numeric token stream.
 int precisionStep()
           
 boolean shouldBreakTermEnumeration(java.lang.Object text)
          Breaks on this text if its null.
abstract  int sortType()
           
 boolean useFieldQueryWithQueryString()
          Use the field query created here when matching on numbers.
 java.lang.String valueAsString(org.apache.lucene.document.Fieldable field)
          Returns the actual value of the field as string.
 java.lang.Object valueForSearch(org.apache.lucene.document.Fieldable field)
          Override the default behavior (to return the string, and return the actual Number instance).
abstract  java.lang.Object valueFromString(java.lang.String text)
          Parses a string that represents the field into its value.
abstract  java.lang.Object valueFromTerm(java.lang.String term)
          Simply returns the same string.
 
Methods inherited from class org.elasticsearch.index.mapper.json.JsonFieldMapper
analyzed, boost, fieldFilter, fieldQuery, index, indexAnalyzer, indexed, indexedValue, indexedValue, jsonType, merge, name, names, omitNorms, omitTermFreqAndPositions, parse, parseCreateField, queryStringTermQuery, rangeFilter, rangeQuery, searchAnalyzer, store, stored, termVector, toJson, traverse, valueForSearch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.elasticsearch.index.mapper.json.JsonMapper
merge, name, parse, traverse
 
Methods inherited from interface org.elasticsearch.util.json.ToJson
toJson
 
Methods inherited from interface org.elasticsearch.index.mapper.FieldMapper
value
 

Field Detail

precisionStep

protected final int precisionStep

includeInAll

protected java.lang.Boolean includeInAll
Constructor Detail

JsonNumberFieldMapper

protected JsonNumberFieldMapper(FieldMapper.Names names,
                                int precisionStep,
                                org.apache.lucene.document.Field.Index index,
                                org.apache.lucene.document.Field.Store store,
                                float boost,
                                boolean omitNorms,
                                boolean omitTermFreqAndPositions,
                                NamedAnalyzer indexAnalyzer,
                                NamedAnalyzer searchAnalyzer)
Method Detail

includeInAll

public void includeInAll(java.lang.Boolean includeInAll)
Specified by:
includeInAll in interface JsonIncludeInAllMapper

maxPrecisionStep

protected abstract int maxPrecisionStep()

precisionStep

public int precisionStep()

useFieldQueryWithQueryString

public boolean useFieldQueryWithQueryString()
Use the field query created here when matching on numbers.

Specified by:
useFieldQueryWithQueryString in interface FieldMapper<T extends java.lang.Number>
Overrides:
useFieldQueryWithQueryString in class JsonFieldMapper<T extends java.lang.Number>

valueForSearch

public java.lang.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 java.lang.Number>
Overrides:
valueForSearch in class JsonFieldMapper<T extends java.lang.Number>

valueAsString

public java.lang.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 java.lang.Number>

valueFromTerm

public abstract java.lang.Object valueFromTerm(java.lang.String term)
Description copied from class: JsonFieldMapper
Simply returns the same string.

Specified by:
valueFromTerm in interface FieldMapper<T extends java.lang.Number>
Overrides:
valueFromTerm in class JsonFieldMapper<T extends java.lang.Number>

valueFromString

public abstract java.lang.Object valueFromString(java.lang.String text)
Description copied from interface: FieldMapper
Parses a string that represents the field into its value. For example, with numbers, it parses "1" to 1.

Specified by:
valueFromString in interface FieldMapper<T extends java.lang.Number>
Overrides:
valueFromString in class JsonFieldMapper<T extends java.lang.Number>

shouldBreakTermEnumeration

public boolean shouldBreakTermEnumeration(java.lang.Object text)
Breaks on this text if its null.

Specified by:
shouldBreakTermEnumeration in interface FieldMapper<T extends java.lang.Number>
Overrides:
shouldBreakTermEnumeration in class JsonFieldMapper<T extends java.lang.Number>

doJsonBody

protected void doJsonBody(JsonBuilder builder)
                   throws java.io.IOException
Overrides:
doJsonBody in class JsonFieldMapper<T extends java.lang.Number>
Throws:
java.io.IOException

sortType

public abstract int sortType()
Specified by:
sortType in interface FieldMapper<T extends java.lang.Number>
Overrides:
sortType in class JsonFieldMapper<T extends java.lang.Number>

popCachedStream

protected JsonNumberFieldMapper.CachedNumericTokenStream popCachedStream(int precisionStep)
Removes a cached numeric token stream. The stream will be returned to the cahed once it is used sicne it implements the end method.