public class DateRangeField extends AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy> implements DateValueFieldType
NumberRangePrefixTreeStrategy,
DateRangePrefixTreeFieldType.DefaultAnalyzer, FieldType.MultiValueSelectorDEFAULT_FIELD_VALUES_ARRAY_LEN, gridargsParser, ctx, DISTANCE, distanceUnits, FILTER_PARAM, NONE, RECIP_DISTANCE, SCORE_PARAM, supportedScoreModesANALYZER, 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, typeNameBINARY, 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). |
protected NumberRangePrefixTree.NRShape |
parseShape(String str) |
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, newSpatialStrategycreateField, createSpatialQuery, getDistanceUnits, getFieldQuery, getQueryFromSpatialArgs, getSortField, getSphereRadius, getStrategy, getSupportedScoreModes, getUninversionType, getValueSource, getValueSourceFromSpatialArgs, isPolyField, newSpatialArgsParser, parseDistanceUnits, writecheckSchemaField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getRewriteMethod, 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, useDocValuesAsStoredprotected void init(IndexSchema schema, Map<String,String> args)
FieldTypeinit in class AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy>protected NumberRangePrefixTreeStrategy newPrefixTreeStrategy(String fieldName)
newPrefixTreeStrategy in class AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy>public List<IndexableField> createFields(SchemaField field, Object val, float boost)
FieldTypeSchemaField, create one or more IndexableField instancescreateFields in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>field - the SchemaFieldval - The value to add to the fieldboost - The boost to applyIndexableFieldFieldType.createField(SchemaField, Object, float),
FieldType.isPolyField()protected String getStoredValue(org.locationtech.spatial4j.shape.Shape shape, String shapeStr)
AbstractSpatialFieldTypeAbstractSpatialFieldType.createFields(SchemaField, Object, float) to get the stored value.getStoredValue in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>public String shapeToString(org.locationtech.spatial4j.shape.Shape shape)
AbstractSpatialFieldTypeSpatial4j 0.4 is probably the last release to support SpatialContext.toString(shape) but it's deprecated with no planned replacement. Shapes do have a toString() method but they are generally internal/diagnostic and not standard WKT. The solution is subclassing and calling ctx.toString(shape) or directly using LegacyShapeReadWriterFormat or passing in some sort of custom wrapped shape that holds a reference to a String or can generate it.
shapeToString in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>protected NumberRangePrefixTree.NRShape parseShape(String str)
parseShape 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)
FieldTypeSolrQueryParser
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-2016 Apache Software Foundation. All Rights Reserved.