【Lucene】分词器

来源:互联网 发布:网站源码免费分享 编辑:程序博客网 时间:2024/06/03 03:20

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目录下,

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













原创粉丝点击