public class DateRangeField extends AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy> implements DateValueFieldType
NumberRangePrefixTreeStrategy
,
DateRangePrefixTree
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
DEFAULT_FIELD_VALUES_ARRAY_LEN, grid
argsParser, ctx, DISTANCE, distanceUnits, FILTER_PARAM, FORMAT, NONE, RECIP_DISTANCE, SCORE_PARAM, shapeReader, shapeWriter, supportedScoreModes
ANALYZER, args, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, similarity, SIMILARITY, similarityFactory, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeName
BINARY, DOC_VALUES, INDEXED, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_OFFSETS, STORE_TERMOFFSETS, STORE_TERMPAYLOADS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED, USE_DOCVALUES_AS_STORED
Constructor and Description |
---|
DateRangeField() |
Modifier and Type | Method and Description |
---|---|
List<IndexableField> |
createFields(SchemaField field,
Object val,
float boost)
Given a
SchemaField , create one or more IndexableField instances |
Query |
getRangeQuery(QParser parser,
SchemaField field,
String startStr,
String endStr,
boolean minInclusive,
boolean maxInclusive)
Returns a Query instance for doing range searches on this field type.
|
protected String |
getStoredValue(org.locationtech.spatial4j.shape.Shape shape,
String shapeStr)
Called by
AbstractSpatialFieldType.createFields(SchemaField, Object, float) to get the stored value. |
protected void |
init(IndexSchema schema,
Map<String,String> args)
subclasses should initialize themselves with the args provided
and remove valid arguments.
|
protected NumberRangePrefixTreeStrategy |
newPrefixTreeStrategy(String fieldName) |
Date |
parseMath(Date now,
String rawval)
For easy compatibility with
DateMathParser.parseMath(Date, String) . |
NumberRangePrefixTree.NRShape |
parseShape(String str)
Create a
Shape from the input string |
protected SpatialArgs |
parseSpatialArgs(QParser parser,
String externalVal) |
String |
shapeToString(org.locationtech.spatial4j.shape.Shape shape)
Returns a String version of a shape to be used for the stored value.
|
getIndexAnalyzer, getQueryAnalyzer, newSpatialStrategy
createField, createSpatialQuery, getDistanceUnits, getFieldQuery, getQueryFromSpatialArgs, getSortField, getSpatialContext, getSphereRadius, getStrategy, getSupportedScoreModes, getUninversionType, getValueSource, getValueSourceFromSpatialArgs, isPolyField, newSpatialArgsParser, parseDistanceUnits, write
checkSchemaField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, getStringSort, getTypeName, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isTokenized, marshalBase64SortValue, marshalSortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toExternal, toInternal, toNativeType, toObject, toObject, toString, unmarshalBase64SortValue, unmarshalSortValue, unmarshalStringSortValue, useDocValuesAsStored
protected void init(IndexSchema schema, Map<String,String> args)
FieldType
init
in class AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy>
protected NumberRangePrefixTreeStrategy newPrefixTreeStrategy(String fieldName)
newPrefixTreeStrategy
in class AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy>
public List<IndexableField> createFields(SchemaField field, Object val, float boost)
FieldType
SchemaField
, create one or more IndexableField
instancescreateFields
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
field
- the SchemaField
val
- The value to add to the fieldboost
- The boost to applyIndexableField
FieldType.createField(SchemaField, Object, float)
,
FieldType.isPolyField()
protected String getStoredValue(org.locationtech.spatial4j.shape.Shape shape, String shapeStr)
AbstractSpatialFieldType
AbstractSpatialFieldType.createFields(SchemaField, Object, float)
to get the stored value.getStoredValue
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
public String shapeToString(org.locationtech.spatial4j.shape.Shape shape)
AbstractSpatialFieldType
format={WKT|GeoJSON}
shapeToString
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
public NumberRangePrefixTree.NRShape parseShape(String str)
AbstractSpatialFieldType
Shape
from the input stringparseShape
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
public Date parseMath(Date now, String rawval)
DateMathParser.parseMath(Date, String)
.protected SpatialArgs parseSpatialArgs(QParser parser, String externalVal)
parseSpatialArgs
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
public Query getRangeQuery(QParser parser, SchemaField field, String startStr, String endStr, boolean minInclusive, boolean maxInclusive)
FieldType
SolrQueryParser
currently passes part1 and part2 as null if they are '*' respectively. minInclusive and maxInclusive are both true
currently by SolrQueryParser but that may change in the future. Also, other QueryParser implementations may have
different semantics.
Sub-classes should override this method to provide their own range query implementation. They should strive to handle nulls in part1 and/or part2 as well as unequal minInclusive and maxInclusive parameters gracefully.
getRangeQuery
in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>
parser
- the QParser
calling the methodfield
- the schema fieldstartStr
- the lower boundary of the range, nulls are allowed.endStr
- the upper boundary of the range, nulls are allowedminInclusive
- whether the minimum of the range is inclusive or notmaxInclusive
- whether the maximum of the range is inclusive or notCopyright © 2000-2017 Apache Software Foundation. All Rights Reserved.