手记

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

    }

}

0人推荐
随时随地看视频
慕课网APP