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;

Reply via email to