Lucene.NET 2.0範例程式碼

來源:互聯網
上載者:User
public void Test1()
{
 //建立一個記憶體目錄
 Lucene.Net.Store.RAMDirectory ramDir = new Lucene.Net.Store.RAMDirectory();

 //建立一個索引書寫器
 IndexWriter ramWriter = new IndexWriter(ramDir,new ChineseAnalyzer(), true);

 //要索引的詞,這就相當於一個個的要索引的檔案
 string[] words = {"中華人民共和國", "人民共和國", "人民","共和國"}; 

 //迴圈數組,建立文檔,給文檔添加欄位,並把文檔添加到索引書寫器裡
 Document doc = null; 
 for (int i = 0; i < words.Length; i++)
 {
  doc = new Document();
  doc.Add(Field.Text("contents", words[i]));
  ramWriter.AddDocument(doc);
 }

 //索引最佳化
 ramWriter.Optimize();

 //關閉索引讀寫器,一定要關哦,按理說應該把上面的代碼用try括主,在finally裡關閉索引書寫器
 ramWriter.Close();

 //構建一個索引搜尋器
 IndexSearcher searcher = new IndexSearcher(ramDir);

 //用QueryParser.Parse方法執行個體化一個查詢
 Query query = QueryParser.Parse("中華人民","contents",new ChineseAnalyzer());

 //擷取搜尋結果
 Hits hits = searcher.Search(query);

 //判斷是否有搜尋到的結果,當然你也可以遍曆結果集並輸出
 if (hits.Length() != 0)
  MessageBox.Show("有");
 else
  MessageBox.Show("沒有");
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.