版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、其實(shí) L 對數(shù)據(jù)庫建索引很簡單,只要把數(shù)據(jù)表里面的記錄讀出來,然后對每個字段索引就行了.本文中數(shù)據(jù)庫的內(nèi)容是某個博客表userblog表。 1.表結(jié)構(gòu):字段名稱 字段類型 字段含義id Varchar(11) 編號title Varchar(50) 標(biāo)題 content Text 內(nèi)容 2.程序流程 1) 打開數(shù)據(jù)庫; 2) 建立索引; 3) 根據(jù)索引進(jìn)行全文搜索. 4.附源碼:aspx文件: 如轉(zhuǎn)載請注明出處,謝謝!wangkun by 2007-5-1 <!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.0 Transitional/EN&quo
2、t; ><HTML> <HEAD> <title>使用L建立簡單的數(shù)據(jù)庫搜索程序</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultCli
3、entScript"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <table width="100%" border="0"> <tr> <td> <asp:textbox id="tj" runat=&q
4、uot;server"></asp:textbox><asp:button id="Search" runat="server" Text="搜索"></asp:button></td> </tr> </table> <table width="100%" border="0"> <tr> <td><asp:datagrid id="SearGrid&quo
5、t; runat="server" AutoGenerateColumns="False"> <Columns> <asp:TemplateColumn> <HeaderTemplate> 搜索結(jié)果: </HeaderTemplate> <ItemTemplate> <table width="100%" border="0"> <tr> <td>id:<%# DataBinder.Eval(Containe
6、r.DataItem,"id") %> </td> </tr> <tr> <td>標(biāo)題: <%# DataBinder.Eval(Container.DataItem,"title") %> </td> </tr> <tr> <td>內(nèi)容: <%# DataBinder.Eval(Container.DataItem,"content") %> </td> </tr> <tr>
7、; <td> </td> </tr> </table> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:datagrid></td> </tr> </table> </form> </body></HTML>cs代碼 using System;using System.Collections;using System.ComponentModel;u
8、sing System.Data;using System.Drawing;using System.Web;using Lucene.Net;namespace WebApplication4. /*/ <summary> / WebForm1 的摘要說明。 / </summary> . public string connstr="server=.;database=TopWin2;uid=sa;pwd=" private void Page_Load(object sender, System.EventArgs e) . / 在此處放置用戶代
9、碼以初始化頁面 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
10、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&qu
11、ot;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 s
12、eacher(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è)計(jì)器生成的代碼#region W
13、eb 窗體設(shè)計(jì)器生成的代碼 override protected void OnInit(EventArgs e) . / / CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。 / InitializeComponent(); base.OnInit(e); /*/ <summary> / 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改 / 此方法的內(nèi)容。 / </summary> private void InitializeComponent() . this.Load += new System.EventHandler(this.Pag
14、e_Load); #endregion private void Search_Click(object sender, System.EventArgs e) . DataRow myrow; DataTable mytab=new DataTable(); mytab.Clear(); if (myhit!=null) . for(int i=0;i<myhit.Length();i+) . Document doc=myhit.Doc(i); myrow=mytab.NewRow(); myrow0=doc.Get("id").ToString(); myrow
15、1=doc.Get("title").ToString(); myrow2=doc.Get("content").ToString(); myrow.AcceptChanges(); else . / L 是 lucene在java下移植到.net上來的。 于是 我打算做一個實(shí)驗(yàn)看看效果如何 以下是簡單代碼 1:建立索引 IndexWriter iw=new IndexWriter("E:1index",a,true); /E:1index 為索引文件存放地址 string conn="數(shù)據(jù)庫連接字符串" usin
16、g(DataTable dt=SqlHelper.ExecuteDataset(conn,CommandType.Text,"Select top 100 name,Intr from book ").Tables0) foreach(DataRow dr in dt.Rows) IndexBook(dr"name".ToString(),dr"intr".ToString(),iw); 這是關(guān)鍵 iw.Optimize(); iw.Close(); MessageBox.Show("succes"); 下面請看IndexBook 這個函數(shù) private void IndexBook(string bookname,string bookintr,IndexWriter writer) try Document doc = new Document(); doc.Add(Field.Keyword("bookname", bookname); doc.Add(Field.Text("int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源車充電樁大清包建設(shè)合同樣本3篇
- 二零二五年度搬家服務(wù)與家居綠化設(shè)計(jì)合同2篇
- 二零二五年住宅小區(qū)代建及物業(yè)管理服務(wù)合同書3篇
- 二零二五年度快遞包裹運(yùn)輸及快遞末端服務(wù)合同3篇
- 二零二五年度房地產(chǎn)企業(yè)合同財務(wù)風(fēng)險防范與合同審查合同3篇
- 二零二五年度智慧能源管理系統(tǒng)安裝合同6篇
- 二零二五年度學(xué)校藝術(shù)團(tuán)隊(duì)建設(shè)合同3篇
- 2025年度白酒行業(yè)市場調(diào)研與分析合同6篇
- 海南職業(yè)技術(shù)學(xué)院《模擬電子技術(shù)英文》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度大學(xué)生實(shí)習(xí)期間實(shí)習(xí)單位實(shí)習(xí)成果轉(zhuǎn)化服務(wù)合同3篇
- 飛盤比賽團(tuán)建策劃方案
- 2024年哈爾濱鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 三年級數(shù)學(xué)試卷分析與改進(jìn)措施5篇-
- 病案室防蟲應(yīng)急預(yù)案演練腳本
- 永昌小學(xué)四年級數(shù)學(xué)寒假每日一練
- 電動開啟窗施工方案
- SA8000標(biāo)準(zhǔn)培訓(xùn)課件
- 局部放電測試儀校準(zhǔn)規(guī)范 第1部分:超聲波法局部放電測試儀
- 文創(chuàng)產(chǎn)品可行性報告
- 眼科護(hù)理的國內(nèi)外發(fā)展動態(tài)和趨勢
- 創(chuàng)傷中心工作計(jì)劃范文
評論
0/150
提交評論