LuceneChineseAnalyzerText.java
上传用户:cctqzzy
上传日期:2022-03-14
资源大小:12198k
文件大小:1k
源码类别:

搜索引擎

开发平台:

Java

  1. package chapter8;
  2. import java.io.IOException;
  3. import org.apache.lucene.document.Field;
  4. import org.apache.lucene.document.Document;
  5. import org.apache.lucene.index.IndexWriter;
  6. import org.apache.lucene.analysis.Analyzer;
  7. import org.apache.lucene.analysis.TokenStream;
  8. import org.apache.lucene.analysis.Token;
  9. //import org.apache.lucene.analysis.cn;
  10. import java.util.*;
  11. import java.io.*;
  12. public class LuceneChineseAnalyzerText {
  13. private static String Dest_Index_Path = "D:\workshop\TextIndex";
  14. static protected String chinesedetail = "中文文档中最基础的结构是句子、短语、词汇、单个的汉字。中文环境的句子通常可以利用标点符号来分隔。" ;
  15. public static void main(String[] args) {
  16. try {
  17. Analyzer TextAnalyzer = new ChineseAnalyzer();
  18. IndexWriter TextIndex = new IndexWriter(Dest_Index_Path,TextAnalyzer,true);
  19. Document document = new Document();
  20. Field field_content = new Field("content", chinesedetail, 
  21. Field.Store.YES,Field.Index.TOKENIZED);
  22. document.add(field_content);
  23. TextIndex.addDocument(document);
  24. TokenStream stream = TextAnalyzer.tokenStream("content", new StringReader(chinesedetail));
  25. while(true)
  26. {
  27. Token item = stream.next();
  28. if(null == item ) break;
  29. System.out.print("{"+item.termText()+"} ");
  30. }
  31. TextIndex.optimize();
  32. TextIndex.close();
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. }
  36. System.out.println("");
  37. System.out.println("Index success");
  38. }
  39. }