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

当索引、索引目录、文档都建立后,我们就可以使用全文的搜索了。
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 源代码研究

阅读更多

没有更多推荐了,返回首页