您的位置:首页 > 其它

Lucene.net简单实现

2013-08-22 16:22 405 查看
废话少说直接上代码

添加引用

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: