I want to search document by sorting datetime field mainly.
Which implementation is the best for sorting performance.

1. index the datetime as one field.

fields: title, contents, datetime

In this case, when there are documents that the datefield increases by 1
second between first of 2007 and end of 2007, the number of Term becomes
about 31536000 (seconds in 365 * 24 * 60 * 60).

2. index the datetime as 6 fields.

fields: title, contents, year, month, day, hour, minute, second.

In this case, Term of each field is,
 year : 1
 month : 12
 day : 31
 hour : 24
 minute : 60
 second : 60
totally, 188 terms. But sorting needs 6 field.

sample code:
String[] sortFields = { "year", "month", "day", "hour", "minute", "second"
};
Sort sort = new Sort(sortFields);
Hits hits = searcher.search(query, sort);

(3rd approach, index datetime as 2 field, yyyymmdd and hhmmss.)

I also need periodically about 1-10 minutes reopen index (add/delete
documents).


Thanks.

Reply via email to