public class DateRangeField extends AbstractSpatialPrefixTreeFieldType<NumberRangePrefixTreeStrategy>
FieldType.DefaultAnalyzerDEFAULT_FIELD_VALUES_ARRAY_LEN, gridargsParser, ctx, DISTANCE, distanceUnits, FILTER_PARAM, log, NONE, RECIP_DISTANCE, SCORE_PARAM, supportedScoreModes, unitsANALYZER, 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| 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(com.spatial4j.core.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
TrieDateField.parseMath(Date, String). |
protected NumberRangePrefixTree.NRShape |
parseShape(String str) |
protected SpatialArgs |
parseSpatialArgs(QParser parser,
String externalVal) |
protected String |
shapeToString(com.spatial4j.core.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, 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, unmarshalStringSortValueprotected 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(com.spatial4j.core.shape.Shape shape, String shapeStr)
AbstractSpatialFieldTypeAbstractSpatialFieldType.createFields(SchemaField, Object, float) to get the stored value.getStoredValue in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>protected NumberRangePrefixTree.NRShape parseShape(String str)
parseShape in class AbstractSpatialFieldType<NumberRangePrefixTreeStrategy>public Date parseMath(Date now, String rawval)
TrieDateField.parseMath(Date, String).protected String shapeToString(com.spatial4j.core.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 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-2015 Apache Software Foundation. All Rights Reserved.