Lucene.Net  3.0.3
Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
Static Public Member Functions | List of all members
Lucene.Net.Documents.DateField Class Reference

Provides support for converting dates to strings and vice-versa. The strings are structured so that lexicographic sorting orders by date, which makes them suitable for use as field values and search terms. More...

Static Public Member Functions

static System.String MIN_DATE_STRING ()
 
static System.String MAX_DATE_STRING ()
 
static System.String DateToString (System.DateTime date)
 Converts a Date to a string suitable for indexing.
 
static System.String TimeToString (long time)
 Converts a millisecond time to a string suitable for indexing.
 
static long StringToTime (System.String s)
 Converts a string-encoded date into a millisecond time.
 
static System.DateTime StringToDate (System.String s)
 Converts a string-encoded date into a Date object.
 

Detailed Description

Provides support for converting dates to strings and vice-versa. The strings are structured so that lexicographic sorting orders by date, which makes them suitable for use as field values and search terms.

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 DateTime, convert it to unix timestamp as long and index this as a numeric value with NumericField and use NumericRangeQuery{T} to query it.

<deprecated> If you build a new index, use DateTools or NumericField instead. This class is included for use with existing indices and will be removed in a future (possibly Lucene 4.0) </deprecated>

Definition at line 63 of file DateField.cs.

Member Function Documentation

static System.String Lucene.Net.Documents.DateField.DateToString ( System.DateTime  date)
static

Converts a Date to a string suitable for indexing.

<throws> RuntimeException if the date specified in the </throws>

method argument is before 1970

Definition at line 91 of file DateField.cs.

static System.String Lucene.Net.Documents.DateField.MAX_DATE_STRING ( )
static

Definition at line 78 of file DateField.cs.

static System.String Lucene.Net.Documents.DateField.MIN_DATE_STRING ( )
static

Definition at line 73 of file DateField.cs.

static System.DateTime Lucene.Net.Documents.DateField.StringToDate ( System.String  s)
static

Converts a string-encoded date into a Date object.

Definition at line 129 of file DateField.cs.

static long Lucene.Net.Documents.DateField.StringToTime ( System.String  s)
static

Converts a string-encoded date into a millisecond time.

Definition at line 124 of file DateField.cs.

static System.String Lucene.Net.Documents.DateField.TimeToString ( long  time)
static

Converts a millisecond time to a string suitable for indexing.

<throws> RuntimeException if the time specified in the </throws>

method argument is negative, that is, before 1970

Definition at line 101 of file DateField.cs.


The documentation for this class was generated from the following file: