/// <summary> Constructs a filter for field <code>f</code> matching /// dates on or before before <code>date</code>. /// </summary> public static DateFilter Before(System.String field, System.DateTime date) { DateFilter result = new DateFilter(field); result.end = DateField.DateToString(date); return result; }
/// <summary> Constructs a filter for field <code>f</code> matching times /// on or before <code>time</code>. /// </summary> public static DateFilter Before(System.String field, long time) { DateFilter result = new DateFilter(field); result.end = DateField.TimeToString(time); return(result); }
/// <summary> Constructs a filter for field <code>f</code> matching /// dates on or before before <code>date</code>. /// </summary> public static DateFilter Before(System.String field, System.DateTime date) { DateFilter result = new DateFilter(field); result.end = DateField.DateToString(date); return(result); }
/// <summary> Constructs a filter for field <code>f</code> matching /// times on or after <code>time</code>. /// </summary> public static DateFilter After(System.String field, long time) { DateFilter result = new DateFilter(field); result.start = DateField.TimeToString(time); return(result); }
/// <summary> Constructs a filter for field <code>f</code> matching /// dates on or after <code>date</code>. /// </summary> public static DateFilter After(System.String field, System.DateTime date) { DateFilter result = new DateFilter(field); result.start = DateField.DateToString(date); return(result); }
public virtual void TestAfter() { // create an index RAMDirectory indexStore = new RAMDirectory(); IndexWriter writer = new IndexWriter(indexStore, new SimpleAnalyzer(), true); long now = (System.DateTime.Now.Ticks - 621355968000000000) / 10000; Document doc = new Document(); // add time that is in the future doc.Add(Field.Keyword("datefield", DateField.TimeToString(now + 888888))); doc.Add(Field.Text("body", "Today is a very sunny day in New York City")); writer.AddDocument(doc); writer.Optimize(); writer.Close(); IndexSearcher searcher = new IndexSearcher(indexStore); // filter that should preserve matches DateFilter df1 = DateFilter.After("datefield", now); // filter that should discard matches DateFilter df2 = DateFilter.After("datefield", now + 999999); // search something that doesn't exist with DateFilter Query query1 = new TermQuery(new Term("body", "NoMatchForThis")); // search for something that does exists Query query2 = new TermQuery(new Term("body", "sunny")); Hits result; // ensure that queries return expected results without DateFilter first result = searcher.Search(query1); Assert.AreEqual(0, result.Length()); result = searcher.Search(query2); Assert.AreEqual(1, result.Length()); // run queries with DateFilter result = searcher.Search(query1, df1); Assert.AreEqual(0, result.Length()); result = searcher.Search(query1, df2); Assert.AreEqual(0, result.Length()); result = searcher.Search(query2, df1); Assert.AreEqual(1, result.Length()); result = searcher.Search(query2, df2); Assert.AreEqual(0, result.Length()); }
/// <summary> Constructs a filter for field <code>f</code> matching /// dates on or after <code>date</code>. /// </summary> public static DateFilter After(System.String field, System.DateTime date) { DateFilter result = new DateFilter(field); result.start = DateField.DateToString(date); return result; }
/// <summary> Constructs a filter for field <code>f</code> matching times /// on or before <code>time</code>. /// </summary> public static DateFilter Before(System.String field, long time) { DateFilter result = new DateFilter(field); result.end = DateField.TimeToString(time); return result; }
/// <summary> Constructs a filter for field <code>f</code> matching /// times on or after <code>time</code>. /// </summary> public static DateFilter After(System.String field, long time) { DateFilter result = new DateFilter(field); result.start = DateField.TimeToString(time); return result; }