lucene.net 如何实现全文的搜索

    技术2022-05-11  107

    当索引、索引目录、文档都建立后,我们就可以使用全文的搜索了。namespace websearch{ /// <summary> /// Index 的摘要说明。 /// </summary> public class Index : System.Web.UI.Page {  DateTime mydate=DateTime.Now;  string mycontet;  protected System.Web.UI.WebControls.TextBox stext;  protected System.Web.UI.WebControls.Label Label1;  protected System.Web.UI.WebControls.Button Button1;   private void Page_Load(object sender, System.EventArgs e)  {   // 在此处放置用户代码以初始化页面  }  protected void Search_Index(object sender, System.EventArgs e)  {   // 在此处放置用户代码以初始化页面    string _stext=stext.Text;    Analyzer analyzer = new StandardAnalyzer();    Directory directory = FSDirectory.GetDirectory(@"c:/tmp/testindex", false);     IndexSearcher isearcher = new IndexSearcher(directory);

        Query query;    query = QueryParser.Parse(_stext, "title", analyzer);    //query = QueryParser.Parse("2", "nid", analyzer);    Hits hits = isearcher.Search(query);

        mycontet="<font color=red>共找到"+hits.Length()+"条记录</font><br>";

        for (int i = 0; i <hits.Length(); i++)     {     Document hitDoc = hits.Doc(i);     mycontet=mycontet+"编号:"+hitDoc.Get("nid").ToString()+"<br>";     mycontet=mycontet+"标题:"+hitDoc.Get("title").ToString()+"<br>";     mycontet=mycontet+"链接:"+hitDoc.Get("visiturl").ToString()+"<br>";         }    isearcher.Close();    directory.Close();   Label1.Text=mycontet;   }    private void InitializeComponent()  {       this.Load += new System.EventHandler(this.Page_Load);

      }  #endregion }}搜索的结果返回 如下图通过以上的几篇文章一个简单的全文搜索就可以搞定了,但是要完全掌握lucene.net 那还是不够的。还是要下载lucene.net 源代码研究


    最新回复(0)