org.elasticsearch.index.mapper.ip
Class IpFieldMapper

java.lang.Object
  extended by org.elasticsearch.index.mapper.core.AbstractFieldMapper<T>
      extended by org.elasticsearch.index.mapper.core.NumberFieldMapper<java.lang.Long>
          extended by org.elasticsearch.index.mapper.ip.IpFieldMapper
All Implemented Interfaces:
ToXContent, FieldMapper<java.lang.Long>, AllFieldMapper.IncludeInAll, Mapper

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.core.NumberFieldMapper
NumberFieldMapper.CustomNumericField
 
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.core.AbstractFieldMapper
AbstractFieldMapper.OpenBuilder<T extends AbstractFieldMapper.Builder,Y extends AbstractFieldMapper>
 
Nested classes/interfaces inherited from interface org.elasticsearch.index.mapper.Mapper
Mapper.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.core.NumberFieldMapper
dFuzzyFactor, fuzzyFactor, includeInAll, precisionStep
 
Fields inherited from class org.elasticsearch.index.mapper.core.AbstractFieldMapper
boost, index, indexAnalyzer, names, omitNorms, omitTermFreqAndPositions, searchAnalyzer, store, termFactory, termVector
 
Fields inherited from interface org.elasticsearch.index.mapper.Mapper
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()
           
 org.apache.lucene.search.Query fuzzyQuery(java.lang.String value, double minSim, int prefixLength, int maxExpansions)
           
 org.apache.lucene.search.Query fuzzyQuery(java.lang.String value, java.lang.String minSim, int prefixLength, int maxExpansions)
           
 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(Mapper mergeWith, MergeContext mergeContext)
           
protected  org.apache.lucene.document.Fieldable parseCreateField(ParseContext context)
           
 org.apache.lucene.search.Filter rangeFilter(FieldDataCache fieldDataCache, java.lang.String lowerTerm, java.lang.String upperTerm, boolean includeLower, boolean includeUpper)
          A range filter based on the field data cache.
 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)
          IPs 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.core.NumberFieldMapper
close, fieldFilter, fieldQuery, includeInAll, includeInAllIfNotSet, parseFuzzyFactor, popCachedStream, precisionStep, useFieldQueryWithQueryString
 
Methods inherited from class org.elasticsearch.index.mapper.core.AbstractFieldMapper
analyzed, boost, customBoost, index, indexAnalyzer, indexed, name, names, omitNorms, omitTermFreqAndPositions, parse, queryStringTermQuery, searchAnalyzer, store, stored, termVector, toXContent, traverse, 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.Mapper
name, parse, traverse, 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)
IPs 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>

fuzzyQuery

public org.apache.lucene.search.Query fuzzyQuery(java.lang.String value,
                                                 java.lang.String minSim,
                                                 int prefixLength,
                                                 int maxExpansions)
Specified by:
fuzzyQuery in interface FieldMapper<java.lang.Long>
Specified by:
fuzzyQuery in class NumberFieldMapper<java.lang.Long>

fuzzyQuery

public org.apache.lucene.search.Query fuzzyQuery(java.lang.String value,
                                                 double minSim,
                                                 int prefixLength,
                                                 int maxExpansions)
Specified by:
fuzzyQuery in interface FieldMapper<java.lang.Long>
Specified by:
fuzzyQuery in class NumberFieldMapper<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>

rangeFilter

public org.apache.lucene.search.Filter rangeFilter(FieldDataCache fieldDataCache,
                                                   java.lang.String lowerTerm,
                                                   java.lang.String upperTerm,
                                                   boolean includeLower,
                                                   boolean includeUpper)
Description copied from class: NumberFieldMapper
A range filter based on the field data cache.

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

parseCreateField

protected org.apache.lucene.document.Fieldable 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(Mapper mergeWith,
                  MergeContext mergeContext)
           throws MergeMappingException
Specified by:
merge in interface Mapper
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