/** * 分词 * @param doc * @param analyzer * @throws IOException IO */ public static void analyze(String doc, Analyzer analyzer) throws IOException{ StringReader reader = new StringReader(doc); TokenStream toStream= analyzer.tokenStream(doc,reader); toStream.reset(); CharTermAttribute teAttribute = toStream.getAttribute(CharTermAttribute.class); while(toStream.incrementToken()){ System.out.print(teAttribute.toString() + "|"); } analyzer.close(); } }
时间: 2024-01-01 11:06:54 浏览: 125
小议Java中@param注解与@see注解的作用
5星 · 资源好评率100%
这是一个分词的方法,使用了Lucene库中的Analyzer和TokenStream。它首先将输入的文本doc转换为StringReader对象,然后使用传入的analyzer对文本进行分析。TokenStream类用于生成token流,它包含了文本中所有的token,每次使用incrementToken方法从token流中获取一个token。CharTermAttribute类用于获取每个token的字符表示,最后将每个token的字符表示打印出来。方法执行完毕后通过analyzer.close()关闭analyzer对象。
阅读全文