Exemple #1
1
		/// <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;
		}
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
0
        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());
        }
Exemple #7
0
		/// <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;
		}
Exemple #8
0
		/// <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;
		}
Exemple #9
0
		/// <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;
		}