Lucene2.1 的官方示例代码

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
{
    
public partial class Form1 : Form
    
{
        
public Form1()
        
{
            InitializeComponent();
        }


        
private void 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(); 
        }

    }

}
posted @ 2007-12-28 22:03  菩提树下的杨过  阅读(502)  评论(0编辑  收藏  举报