Package org.apache.solr.schema
Class DateRangeField
- java.lang.Object
-
- org.apache.solr.schema.FieldProperties
-
- org.apache.solr.schema.FieldType
-
- org.apache.solr.schema.AbstractSpatialFieldType<T>
-
- org.apache.solr.schema.AbstractSpatialPrefixTreeFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
- org.apache.solr.schema.DateRangeField
-
- All Implemented Interfaces:
DateValueFieldType,SpatialQueryable
public class DateRangeField extends AbstractSpatialPrefixTreeFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy> implements DateValueFieldType
A field for indexed dates and date ranges. It's mostly compatible with DatePointField. It has the potential to allow efficient faceting, similar to facet.enum.- See Also:
NumberRangePrefixTreeStrategy,DateRangePrefixTree
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
-
-
Field Summary
-
Fields inherited from class org.apache.solr.schema.AbstractSpatialPrefixTreeFieldType
DEFAULT_FIELD_VALUES_ARRAY_LEN, FIELD_TYPE_INVARIANTS, grid
-
Fields inherited from class org.apache.solr.schema.AbstractSpatialFieldType
argsParser, ctx, DISTANCE, distanceUnits, FILTER_PARAM, FORMAT, NONE, RECIP_DISTANCE, SCORE_PARAM, shapeReader, shapeWriter, supportedScoreModes
-
Fields inherited from class org.apache.solr.schema.FieldType
ANALYZER, args, AUTO_GENERATE_PHRASE_QUERIES, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, ENABLE_GRAPH_QUERIES, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, similarity, SIMILARITY, similarityFactory, SYNONYM_QUERY_STYLE, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeName
-
Fields inherited from class org.apache.solr.schema.FieldProperties
BINARY, DOC_VALUES, INDEXED, LARGE_FIELD, 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, UNINVERTIBLE, USE_DOCVALUES_AS_STORED
-
-
Constructor Summary
Constructors Constructor Description DateRangeField()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.apache.lucene.index.IndexableField>createFields(SchemaField field, Object val)Given aSchemaField, create one or moreIndexableFieldinstancesprotected org.apache.lucene.search.QuerygetSpecializedRangeQuery(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 StringgetStoredValue(org.locationtech.spatial4j.shape.Shape shape, String shapeStr)Called byAbstractSpatialFieldType.createFields(SchemaField, Object)to get the stored value.protected voidinit(IndexSchema schema, Map<String,String> args)subclasses should initialize themselves with the args provided and remove valid arguments.protected org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategynewPrefixTreeStrategy(String fieldName)DateparseMath(Date now, String rawval)For easy compatibility withDateMathParser.parseMath(Date, String).org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.NRShapeparseShape(String str)Create aShapefrom the input stringprotected org.apache.lucene.spatial.query.SpatialArgsparseSpatialArgs(QParser parser, String externalVal)StringshapeToString(org.locationtech.spatial4j.shape.Shape shape)Returns a String version of a shape to be used for the stored value.-
Methods inherited from class org.apache.solr.schema.AbstractSpatialPrefixTreeFieldType
checkSchemaField, getIndexAnalyzer, getQueryAnalyzer, newSpatialStrategy, setArgs
-
Methods inherited from class org.apache.solr.schema.AbstractSpatialFieldType
createField, createSpatialQuery, getDistanceUnits, getFieldQuery, getQueryFromSpatialArgs, getSortField, getSpatialContext, getSpecializedExistenceQuery, getSphereRadius, getStrategy, getSupportedScoreModes, getUninversionType, getValueSource, getValueSourceFromSpatialArgs, isPolyField, newSpatialArgsParser, parseDistanceUnits, write
-
Methods inherited from class org.apache.solr.schema.FieldType
checkSupportsDocValues, createField, enableDocValuesByDefault, getAnalyzerProperties, getClassArg, getDefaultMultiValueSelectorForSort, getDocValuesFormat, getExistenceQuery, getFieldTermQuery, getNamedPropertyValues, getNonFieldPropertyArgs, getNumberType, getNumericSort, getPostingsFormat, getPrefixQuery, getRangeQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, getSortedNumericSortField, getSortedSetSortField, getSortField, getStringSort, getTypeName, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPointField, isTokenized, isUtf8Field, marshalBase64SortValue, marshalSortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toExternal, toInternal, toNativeType, toObject, toObject, toString, treatUnboundedRangeAsExistence, unmarshalBase64SortValue, unmarshalSortValue, unmarshalStringSortValue, useDocValuesAsStored, write
-
-
-
-
Method Detail
-
init
protected void init(IndexSchema schema, Map<String,String> args)
Description copied from class:FieldTypesubclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.- Overrides:
initin classAbstractSpatialPrefixTreeFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
newPrefixTreeStrategy
protected org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy newPrefixTreeStrategy(String fieldName)
- Specified by:
newPrefixTreeStrategyin classAbstractSpatialPrefixTreeFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
createFields
public List<org.apache.lucene.index.IndexableField> createFields(SchemaField field, Object val)
Description copied from class:FieldTypeGiven aSchemaField, create one or moreIndexableFieldinstances- Overrides:
createFieldsin classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>- Parameters:
field- theSchemaFieldval- The value to add to the field- Returns:
- An array of
IndexableField - See Also:
FieldType.createField(SchemaField, Object),FieldType.isPolyField()
-
getStoredValue
protected String getStoredValue(org.locationtech.spatial4j.shape.Shape shape, String shapeStr)
Description copied from class:AbstractSpatialFieldTypeCalled byAbstractSpatialFieldType.createFields(SchemaField, Object)to get the stored value.- Overrides:
getStoredValuein classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
shapeToString
public String shapeToString(org.locationtech.spatial4j.shape.Shape shape)
Description copied from class:AbstractSpatialFieldTypeReturns a String version of a shape to be used for the stored value.The format can be selected using the initParam
format={WKT|GeoJSON}- Overrides:
shapeToStringin classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
parseShape
public org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.NRShape parseShape(String str)
Description copied from class:AbstractSpatialFieldTypeCreate aShapefrom the input string- Overrides:
parseShapein classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
parseMath
public Date parseMath(Date now, String rawval)
For easy compatibility withDateMathParser.parseMath(Date, String).
-
parseSpatialArgs
protected org.apache.lucene.spatial.query.SpatialArgs parseSpatialArgs(QParser parser, String externalVal)
- Overrides:
parseSpatialArgsin classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>
-
getSpecializedRangeQuery
protected org.apache.lucene.search.Query getSpecializedRangeQuery(QParser parser, SchemaField field, String startStr, String endStr, boolean minInclusive, boolean maxInclusive)
Description copied from class:FieldTypeReturns a Query instance for doing range searches on this field type.SolrQueryParsercurrently passespart1andpart2as null if they are '*' respectively.minInclusiveandmaxInclusiveare 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
part1and/orpart2as well as unequalminInclusiveandmaxInclusiveparameters gracefully.This method does not, and should not, check for or handle existence queries, please look at
FieldType.getRangeQuery(org.apache.solr.search.QParser, org.apache.solr.schema.SchemaField, java.lang.String, java.lang.String, boolean, boolean)for that logic.- Overrides:
getSpecializedRangeQueryin classAbstractSpatialFieldType<org.apache.lucene.spatial.prefix.NumberRangePrefixTreeStrategy>- Parameters:
parser- theQParsercalling 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 not- Returns:
- a Query instance to perform range search according to given parameters
-
-