public static void Main(System.String[] args)
{
try
{
Directory directory = new RAMDirectory();
Analyzer analyzer = new SimpleAnalyzer();
IndexWriter writer = new IndexWriter(directory, analyzer, true);
int MAX_DOCS = 225;
for (int j = 0; j < MAX_DOCS; j++)
{
Document d = new Document();
d.Add(Field.Text(PRIORITY_FIELD, HIGH_PRIORITY));
d.Add(Field.Text(ID_FIELD, System.Convert.ToString(j)));
writer.AddDocument(d);
}
writer.Close();
// try a search without OR
Searcher searcher = new IndexSearcher(directory);
Hits hits = null;
QueryParsers.QueryParser parser = new QueryParsers.QueryParser(PRIORITY_FIELD, analyzer);
Query query = parser.Parse(HIGH_PRIORITY);
System.Console.Out.WriteLine("Query: " + query.ToString(PRIORITY_FIELD));
hits = searcher.Search(query);
PrintHits(hits);
searcher.Close();
// try a new search with OR
searcher = new IndexSearcher(directory);
hits = null;
parser = new QueryParsers.QueryParser(PRIORITY_FIELD, analyzer);
query = parser.Parse(HIGH_PRIORITY + " OR " + MED_PRIORITY);
System.Console.Out.WriteLine("Query: " + query.ToString(PRIORITY_FIELD));
hits = searcher.Search(query);
PrintHits(hits);
searcher.Close();
}
catch (System.Exception e)
{
System.Console.Out.WriteLine(" caught a " + e.GetType() + "\n with message: " + e.Message);
}
}