DateTools or
NumericField instead.
This class is included for use with existing
indices and will be removed in a future release (possibly Lucene 4.0).@Deprecated public class DateField extends Object
Note that this class saves dates with millisecond granularity,
which is bad for TermRangeQuery and PrefixQuery, as those
queries are expanded to a BooleanQuery with a potentially large number
of terms when searching. Thus you might want to use
DateTools instead.
Note: dates before 1970 cannot be used, and therefore cannot be
indexed when using this class. See DateTools for an
alternative without such a limitation.
Another approach is NumericUtils, which provides
a sortable binary representation (prefix encoded) of numeric values, which
date/time are.
For indexing a Date or Calendar, just get the unix timestamp as
long using Date.getTime() or Calendar.getTimeInMillis() and
index this as a numeric value with NumericField
and use NumericRangeQuery to query it.
| Modifier and Type | Method and Description |
|---|---|
static String |
dateToString(Date date)
Deprecated.
Converts a Date to a string suitable for indexing.
|
static String |
MAX_DATE_STRING()
Deprecated.
|
static String |
MIN_DATE_STRING()
Deprecated.
|
static Date |
stringToDate(String s)
Deprecated.
Converts a string-encoded date into a Date object.
|
static long |
stringToTime(String s)
Deprecated.
Converts a string-encoded date into a millisecond time.
|
static String |
timeToString(long time)
Deprecated.
Converts a millisecond time to a string suitable for indexing.
|
public static String MIN_DATE_STRING()
public static String MAX_DATE_STRING()
public static String dateToString(Date date)
RuntimeException - if the date specified in the
method argument is before 1970public static String timeToString(long time)
RuntimeException - if the time specified in the
method argument is negative, that is, before 1970public static long stringToTime(String s)