lucene.net mysql_用Lucene[1].net对数据库建立索引及搜索+
cs代碼
using?System;
using?System.Collections;
using?System.ComponentModel;
using?System.Data;
using?System.Data.SqlClient;
using?System.Drawing;
using?System.Web;
using?System.Web.SessionState;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.Web.UI.HtmlControls;
using?Lucene.Net;
using?Lucene.Net.Index;
using?Lucene.Net.Documents;
using??Lucene.Net.QueryParsers;
using?Lucene.Net.Search;
using?Lucene.Net.Analysis.Standard;
using?Lucene.Net.Analysis.Cn;
namespace?WebApplication4
...{
/**?
///?WebForm1?的摘要說明。
///?
public?class?WebForm1?:?System.Web.UI.Page
...{
protected?System.Web.UI.WebControls.TextBox?tj;
protected?System.Web.UI.WebControls.Button?Search;
protected?System.Web.UI.WebControls.DataGrid?SearGrid;
public?string?connstr="server=.;database=TopWin2;uid=sa;pwd=";
private?void?Page_Load(object?sender,?System.EventArgs?e)
...{
//?在此處放置用戶代碼以初始化頁面
if?(!Page.IsPostBack)
...{
//打開數(shù)據(jù)庫表
SqlDataReader?myred=OpenTable();
//建立索引
IndexWriter?writer=CreateIndex(myred);
}
}
public?SqlDataReader?OpenTable()
...{
SqlConnection?mycon=new?SqlConnection(connstr);
mycon.Open();
SqlCommand?mycom=new?SqlCommand("select?id,title,content?from?userblog?order?by?id",mycon);
return?mycom.ExecuteReader();
}
public?IndexWriter?CreateIndex(SqlDataReader?myred)
...{
IndexWriter?writer?=?new?IndexWriter("c:/index/",?new?ChineseAnalyzer(),?true);
try
...{
//建立索引字段
while(myred.Read())
...{
Document?doc=new?Document();
doc.Add(Field.Keyword("id",myred["id"].ToString()));
doc.Add(Field.Text("title",myred["title"].ToString()));
doc.Add(Field.Text("content",myred["content"].ToString()));
writer.AddDocument(doc);
}
writer.Optimize();
writer.Close();
}
catch(Exception?e)
...{
Response.Write(e);
}
return?writer;
}
public?Hits?seacher(String?queryString)
...{
Hits?hits=null;
try
...{
IndexSearcher?mysea=new?IndexSearcher("c:/index/");
Query?query=QueryParser.Parse(queryString,"content",new?ChineseAnalyzer());
hits=mysea.Search(query);
}
catch(Exception?e)
...{
Response.Write(e);
}
return?hits;
}
Web?窗體設(shè)計器生成的代碼#region?Web?窗體設(shè)計器生成的代碼
override?protected?void?OnInit(EventArgs?e)
...{
//
//?CODEGEN:?該調(diào)用是ASP.NET?Web窗體設(shè)計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**?
///?設(shè)計器支持所需的方法-不要使用代碼編輯器修改
///?此方法的內(nèi)容。
///?
private?void?InitializeComponent()
...{
this.Search.Click?+=?new?System.EventHandler(this.Search_Click);
this.Load?+=?new?System.EventHandler(this.Page_Load);
}
#endregion
private?void?Search_Click(object?sender,?"",System.EventArgs?e)
...{
DataRow?myrow;
DataTable?mytab=new?DataTable();
mytab.Columns.Add("id");
mytab.Columns.Add("title");
mytab.Columns.Add("content");
mytab.Clear();
Hits?myhit=seacher(this.tj.Text.Trim());
if?(myhit!=null)
...{
for(int?i=0;i
...{
Document?doc=myhit.Doc(i);
myrow=mytab.NewRow();
myrow[0]=doc.Get("id").ToString();
myrow[1]=doc.Get("title").ToString();
myrow[2]=doc.Get("content").ToString();
mytab.Rows.Add(myrow);
myrow.AcceptChanges();
}
this.SearGrid.DataSource=mytab;
this.SearGrid.DataBind();
}
else
...{
//
}
}
}
}
總結(jié)
以上是生活随笔為你收集整理的lucene.net mysql_用Lucene[1].net对数据库建立索引及搜索+的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文艺个性签名女生清新
- 下一篇: 张靓颖海豚音是哪首歌啊?