static void Main(string[] args) { Lucene.Net.Util.Version version = Lucene.Net.Util.Version.LUCENE_29; Directory dir = new RAMDirectory(); Analyzer analyzer = new StandardAnalyzer(version); var docs = CreateDocuments(); AddToIndex(docs, dir, analyzer); // Search for the content var parser = new MultiFieldQueryParser(version, new[] { "name" }, analyzer); Query q = parser.Parse("An*"); Filter filter = TermRangeFilter.More("date", DateTools.DateToString(new DateTime(2011, 1, 1), DateTools.Resolution.DAY)); var searcher = new IndexSearcher(dir, true); TopDocs hits = searcher.Search(q, filter, 5, Sort.RELEVANCE); Console.WriteLine("Found {0} document(s) that matched query '{1}':", hits.TotalHits, q); foreach (ScoreDoc match in hits.ScoreDocs) { Document doc = searcher.Doc(match.Doc); Console.WriteLine("Matched id = {0}, Name = {1}", doc.Get("id"), doc.Get("name")); } searcher.Close(); }