Lucene.net简单实现

来源:互联网 发布:淘宝扣48分会怎么样 编辑:程序博客网 时间:2024/05/22 07:04

废话少说直接上代码

添加引用

Lucene.Net.Analysis.Cn.dll

Lucene.Net.dll


添加索引

using Lucene.Net.Documents;using Lucene.Net.Analysis;using Lucene.Net.Index;using Lucene.Net.Analysis.Cn;
    Guid g = Guid.NewGuid();            IndexWriter indexWrite = new IndexWriter(Server.MapPath("index"), new ChineseAnalyzer(), true);            //IndexWriter indexWrite = new IndexWriter(Server.MapPath("index"), new ChineseAnalyzer(), false); //追加索引内容            string strContent = TextBox1.Text;            Document doc = new Document();            doc.Add(Field.Keyword("Id", g.ToString()));            doc.Add(Field.Text("contents",strContent));                        indexWrite.AddDocument(doc);            indexWrite.Optimize();            indexWrite.Close();

搜索实现

using Lucene.Net.Analysis.Cn;using Lucene.Net.QueryParsers;using Lucene.Net.Index;using Lucene.Net.Search;
            IndexSearcher indexSearcher = new IndexSearcher(Server.MapPath("index"));            Query query = QueryParser.Parse(TextBox1.Text, "contents", new ChineseAnalyzer());            Hits hits = indexSearcher.Search(query);            if (hits.Length() > 0)            {                StringBuilder sb = new StringBuilder();                for (int i = 0; i < hits.Length(); i++)                {                    sb.Append(hits.Doc(i).Get("contents") + "---" + hits.Doc(i).Get("Id") + "<br />");                }                Label1.Text = sb.ToString();            }            else            {                Label1.Text = "";            }            indexSearcher.Close();


原创粉丝点击