【Lucene】分词器

lucene提供的分词器的种类如下:



什么是分词器?

    采用一种算法,将中英文本中的字符拆分开来,形成词汇,以待用户输入关健字后搜索


为什么要分词器?

因为用户输入的搜索的内容是一段文本中的一个关健字,和原始表中的内容有差别,但作为搜索引擎来讲,又得将相关的内容搜索出来,此时就得采用分词器来最大限度匹配原始表中的内容


分词器工作流程

     步一:按分词器拆分出词汇

     步二:去除停用词和禁用词

     步三:如果有英文,把英文字母转为小写,即搜索不分大小写


可以使用如下代码对各个分词器进行测试

private static void testAnalyzer(Analyzer analyzer, String text) throws Exception {
	System.out.println("当前使用的分词器:" + analyzer.getClass());
	TokenStream tokenStream = analyzer.tokenStream("content",new StringReader(text));
	tokenStream.addAttribute(TermAttribute.class);
	while (tokenStream.incrementToken()) {
		TermAttribute termAttribute = tokenStream.getAttribute(TermAttribute.class);
		System.out.println(termAttribute.term());
	}
}

当然还可以使用第三方分词器,例如IKAnalyzer分词器

使用第三方IKAnalyzer分词器--------中文首选

需求:过滤掉上面例子中的“说”,“的”,“呀”,且将“我爱中国”之类的次看成一个整体关健字

     (将我爱中国”看成一个整体)

     步一:导入IKAnalyzer分词器核心jar包,IKAnalyzer3.2.0Stable.jar

     步二:将IKAnalyzer.cfg.xml和stopword.dic和xxx.dic文件复制到MyEclipse的src目录下,

再进行配置,在配置时,首行需要一个空行













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值