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