I'm confused why I my last two examples fail (/tags/Lucene.Net_2_4_0). They don't return any hits even though I'm searching on the exact name:
Directory directory = new RAMDirectory(); IndexWriter indexWriter = new IndexWriter( directory, new StandardAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); string name = "ACME Produce"; Document document = new Document(); document.Add(new Field("alayzed_name", name, Field.Store.YES, Field.Index.ANALYZED)); document.Add(new Field("not_analyzed_name", name, Field.Store.YES, Field.Index.NOT_ANALYZED)); indexWriter.AddDocument(document); indexWriter.Close(); IndexSearcher searcher = new IndexSearcher(directory); // works as expected...1 hit QueryParser parser = new QueryParser("alayzed_name", new StandardAnalyzer()); TopDocs topDocs = searcher.Search(parser.Parse("ACME Produce"), 1); int totalHits = topDocs.totalHits; // does not work...0 hits parser = new QueryParser("not_analyzed_name", new StandardAnalyzer()); topDocs = searcher.Search(parser.Parse("ACME Produce"), 1); totalHits = topDocs.totalHits; // does not work...0 hits parser = new QueryParser("not_analyzed_name", new StandardAnalyzer()); topDocs = searcher.Search(parser.Parse("acme produce"), 1); totalHits = topDocs.totalHits;