Hello Abdul,
The approach with dates and times is to index the full date and time but to the resolution that you require as opposed to splitting the time and date into separate fields. If you have a requirement to search to millisecond resolution then index to millisecond resolutiuon using DateTools.Resolution.MILLISECOND. If you only need your search to be accurate to the day then index using DateTools.Resolution.DAY. If you need both then either index both and choose the appropriate one at search time or store to millisecond resolution and accpet the performance penalty. Looking at you code it seems that you're just storing the time information in the index and have lost the date information. This may account for the range filter not picking up what you would expect as the dates may be different. This is only a guess though. Another observation is that you shouldn't have to use the Timestamp class. If I remember this is an extension to the standard Date class that gives nanosecond resolution. You should just be able to create the dataString using dataString = DateTools.dateToString(date, DateTools.Resolution.MILLISECOND); Hope this is of some help Regards Paul I. abdul aleem <[EMAIL PROTECTED] ahoo.com> To java-user@lucene.apache.org 18/12/2006 16:10 cc Subject Please respond to Range Filter again - (time field) [EMAIL PROTECTED] apache.org Hello All, Iam pretty sure there has been lots of discussions and threads on date issues however coudln't nail down my syntax, bear with me if this has been asked before I have split my timestamp as Date and Time and indexing on both Im getting time as SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss.SSS"); Date date = sdf.parse(time); Timestamp timestamp = new Timestamp(date.getTime()); String dateString = DateTools.dateToString(timestamp, DateTools.Resolution.MILLISECOND); Field timeField = new Field("time",dateString,Field.Store.YES, Field.Index.UN_TOKENIZED); For searching ( can search indexed time?? ) ============================================ RangeFilter df2 = new RangeFilter("time", DateTools.dateToString(startTime, DateTools.Resolution.MILLISECOND), DateTools.dateToString(endTime, DateTools.Resolution.MILLISECOND), true, true); Result ======= *time* index has more than 50 documents in start and end range but RangeFilter returns only 1 document (if inclusive only) is there something wrong with way iam using RangeFilter ?? I would greatly appreciate if someone could suggest on the above. Many thanks, Abdul PS:- Im searching on the exact time that was used to index in the RangeFilter __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]