lucene 获取分词后的关键字,该如何解决

 我来答
1039725910
推荐于2018-05-09 · TA获得超过318个赞
知道小有建树答主
回答量:364
采纳率:100%
帮助的人:260万
展开全部
String keyWord = "java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。";
IKAnalyzer analyzer = new IKAnalyzer();
System.out.println("分词:"+keyWord);
try {
TokenStream tokenStream = analyzer.tokenStream("content",
new StringReader(keyWord));
tokenStream.addAttribute(CharTermAttribute.class);
tokenStream.reset();//必须先调用reset方法,否则会报下面的错,可以参考TokenStream的API说明
/* java.lang.IllegalStateException: TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.*/
System.out.print("结果:");
while (tokenStream.incrementToken()) {
CharTermAttribute charTermAttribute = (CharTermAttribute) tokenStream
.getAttribute(CharTermAttribute.class);
System.out.print(charTermAttribute.toString() + " ");
}
tokenStream.end();
tokenStream.close();
} catch(Exception e) {
e.printStackTrace();
}

lucene 4.9.0

ikanalyzer 2012FF_u1

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式