using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Lucene.Net; using Lucene.Net.Analysis; using Lucene.Net.Analysis.Standard; using Lucene.Net.Documents; using Lucene.Net.Index; using Lucene.Net.QueryParsers; using Lucene.Net.Search; using Lucene.Net.Store; using Lucene.Net.Util; namespace LuceneTest { publicpartialclass Form1 : Form { public Form1() { InitializeComponent(); } privatevoid Form1_Load(object sender, EventArgs e) { Test(); } void Test() { Analyzer analyzer =new StandardAnalyzer(); // Store the index in memory: Directory directory =new RAMDirectory(); // To store an index on disk, use this instead (note that the // parameter true will overwrite the index in that directory // if one exists): //Directory directory = FSDirectory.getDirectory("/tmp/testindex", true); IndexWriter iwriter =new IndexWriter(directory, analyzer, true); iwriter.SetMaxFieldLength(25000); Document doc =new Document(); String text ="This is the text to be indexed."; doc.Add(new Field("fieldname", text, Field.Store.YES, Field.Index.TOKENIZED)); iwriter.AddDocument(doc); iwriter.Close(); // Now search the index: IndexSearcher isearcher =new IndexSearcher(directory); // Parse a simple query that searches for "text": QueryParser parser =new QueryParser("fieldname", analyzer); Query query = parser.Parse("text"); Hits hits = isearcher.Search(query); //assertEquals(1, hits.Length()); // Iterate through the results: for (int i =0; i < hits.Length(); i++) { Document hitDoc = hits.Doc(i); //AssertEquals("This is the text to be indexed.", hitDoc.Get("fieldname")); MessageBox.Show(hitDoc.Get("fieldname")); } isearcher.Close(); directory.Close(); } } }