示例#1
0
        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();
        }