org.elasticsearch.index.mapper.xcontent.ip
Class IpFieldMapper

java.lang.Object
  extended by org.elasticsearch.index.mapper.xcontent.AbstractFieldMapper<T>
      extended by org.elasticsearch.index.mapper.xcontent.NumberFieldMapper<java.lang.Long>
          extended by org.elasticsearch.index.mapper.xcontent.ip.IpFieldMapper
All Implemented Interfaces:
ToXContent, FieldMapper<java.lang.Long>, IncludeInAllMapper, XContentMapper

public class IpFieldMapper
extends NumberFieldMapper<java.lang.Long>


Nested Class Summary
static class IpFieldMapper.Builder
           
static class IpFieldMapper.Defaults
           
static class IpFieldMapper.NumericIpAnalyzer
           
static class IpFieldMapper.NumericIpTokenizer
           
static class IpFieldMapper.TypeParser
           
 
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.xcontent.NumberFieldMapper
NumberFieldMapper.CachedNumericTokenStream
 
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.xcontent.AbstractFieldMapper
AbstractFieldMapper.OpenBuilder<T extends AbstractFieldMapper.Builder,Y extends AbstractFieldMapper>
 
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.xcontent.XContentMapper
XContentMapper.BuilderContext
 
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.MapParams, ToXContent.Params
 
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.FieldMapper
FieldMapper.Names
 
Field Summary
static java.lang.String CONTENT_TYPE
           
 
Fields inherited from class org.elasticsearch.index.mapper.xcontent.NumberFieldMapper
includeInAll, precisionStep
 
Fields inherited from class org.elasticsearch.index.mapper.xcontent.AbstractFieldMapper
boost, index, indexAnalyzer, names, omitNorms, omitTermFreqAndPositions, searchAnalyzer, store, termVector
 
Fields inherited from interface org.elasticsearch.index.mapper.xcontent.XContentMapper
EMPTY_ARRAY
 
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
 
Constructor Summary
protected IpFieldMapper(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, java.lang.String nullValue)
           
 
Method Summary
protected  java.lang.String contentType()
           
protected  void doXContentBody(XContentBuilder builder)
           
 FieldDataType fieldDataType()
           
 java.lang.String indexedValue(java.lang.String value)
          Returns the indexed value.
static long ipToLong(java.lang.String ip)
           
static java.lang.String longToIp(long longIp)
           
protected  int maxPrecisionStep()
           
 void merge(XContentMapper mergeWith, MergeContext mergeContext)
           
protected  org.apache.lucene.document.Field parseCreateField(ParseContext context)
           
 org.apache.lucene.search.Filter rangeFilter(java.lang.String lowerTerm, java.lang.String upperTerm, boolean includeLower, boolean includeUpper)
          Constructs a range query filter based on the mapper.
 org.apache.lucene.search.Query rangeQuery(java.lang.String lowerTerm, java.lang.String upperTerm, boolean includeLower, boolean includeUpper)
          Constructs a range query based on the mapper.
 java.lang.Long value(org.apache.lucene.document.Fieldable field)
          Returns the actual value of the field.
 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)
          Dates should return as a string, delegates to valueAsString(org.apache.lucene.document.Fieldable).
 java.lang.Long valueFromString(java.lang.String value)
           
 
Methods inherited from class org.elasticsearch.index.mapper.xcontent.NumberFieldMapper
fieldFilter, fieldQuery, includeInAll, popCachedStream, precisionStep, useFieldQueryWithQueryString
 
Methods inherited from class org.elasticsearch.index.mapper.xcontent.AbstractFieldMapper
analyzed, boost, index, indexAnalyzer, indexed, name, names, omitNorms, omitTermFreqAndPositions, parse, queryStringTermQuery, searchAnalyzer, store, stored, termVector, toXContent, traverse
 
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.xcontent.XContentMapper
name, parse, traverse
 
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContent
toXContent
 

Field Detail

CONTENT_TYPE

public static final java.lang.String CONTENT_TYPE
See Also:
Constant Field Values
Constructor Detail

IpFieldMapper

protected IpFieldMapper(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,
                        java.lang.String nullValue)
Method Detail

longToIp

public static java.lang.String longToIp(long longIp)

ipToLong

public static long ipToLong(java.lang.String ip)
                     throws ElasticSearchIllegalArgumentException
Throws:
ElasticSearchIllegalArgumentException

maxPrecisionStep

protected int maxPrecisionStep()
Specified by:
maxPrecisionStep in class NumberFieldMapper<java.lang.Long>

value

public java.lang.Long value(org.apache.lucene.document.Fieldable field)
Description copied from interface: FieldMapper
Returns the actual value of the field.


valueFromString

public java.lang.Long valueFromString(java.lang.String value)

valueForSearch

public java.lang.Object valueForSearch(org.apache.lucene.document.Fieldable field)
Dates should return as a string, delegates to valueAsString(org.apache.lucene.document.Fieldable).

Specified by:
valueForSearch in interface FieldMapper<java.lang.Long>
Overrides:
valueForSearch in class NumberFieldMapper<java.lang.Long>

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<java.lang.Long>
Overrides:
valueAsString in class NumberFieldMapper<java.lang.Long>

indexedValue

public java.lang.String indexedValue(java.lang.String value)
Description copied from interface: FieldMapper
Returns the indexed value.

Specified by:
indexedValue in interface FieldMapper<java.lang.Long>
Overrides:
indexedValue in class AbstractFieldMapper<java.lang.Long>

rangeQuery

public org.apache.lucene.search.Query rangeQuery(java.lang.String lowerTerm,
                                                 java.lang.String upperTerm,
                                                 boolean includeLower,
                                                 boolean includeUpper)
Description copied from interface: FieldMapper
Constructs a range query based on the mapper.

Specified by:
rangeQuery in interface FieldMapper<java.lang.Long>
Specified by:
rangeQuery in class NumberFieldMapper<java.lang.Long>

rangeFilter

public org.apache.lucene.search.Filter rangeFilter(java.lang.String lowerTerm,
                                                   java.lang.String upperTerm,
                                                   boolean includeLower,
                                                   boolean includeUpper)
Description copied from interface: FieldMapper
Constructs a range query filter based on the mapper.

Specified by:
rangeFilter in interface FieldMapper<java.lang.Long>
Specified by:
rangeFilter in class NumberFieldMapper<java.lang.Long>

parseCreateField

protected org.apache.lucene.document.Field parseCreateField(ParseContext context)
                                                     throws java.io.IOException
Specified by:
parseCreateField in class AbstractFieldMapper<java.lang.Long>
Throws:
java.io.IOException

fieldDataType

public FieldDataType fieldDataType()
Specified by:
fieldDataType in interface FieldMapper<java.lang.Long>
Specified by:
fieldDataType in class NumberFieldMapper<java.lang.Long>

contentType

protected java.lang.String contentType()
Specified by:
contentType in class AbstractFieldMapper<java.lang.Long>

merge

public void merge(XContentMapper mergeWith,
                  MergeContext mergeContext)
           throws MergeMappingException
Specified by:
merge in interface XContentMapper
Overrides:
merge in class NumberFieldMapper<java.lang.Long>
Throws:
MergeMappingException

doXContentBody

protected void doXContentBody(XContentBuilder builder)
                       throws java.io.IOException
Overrides:
doXContentBody in class AbstractFieldMapper<java.lang.Long>
Throws:
java.io.IOException