zoukankan      html  css  js  c++  java
  • 查看分析器(Analyzer)的分词效果

    1 测试代码

    package com.test.lucene.helloworld;
    
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.TokenStream;
    import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
    import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
    import org.junit.Test;
    import org.wltea.analyzer.lucene.IKAnalyzer;
    
    public class JudgeAnalyzer {
    
        @Test
        public void testTokenStream() throws Exception {// 创建一个分析器对象
            //Analyzer analyzer = new StandardAnalyzer();
            //Analyzer analyzer = new CJKAnalyzer();
            //Analyzer analyzer = new SmartChineseAnalyzer();
            Analyzer analyzer = new IKAnalyzer();
            // 获得tokenStream对象
            // 第一个参数:域名,可以随便给一个
            // 第二个参数:要分析的文本内容
            String content ="我是一个中国人,我学习了数据结构,它是一个高富帅,你是白富美";
            TokenStream tokenStream = analyzer.tokenStream("test",content);
            // 添加一个引用,可以获得每个关键词
            CharTermAttribute charTermAttribute = tokenStream.addAttribute(CharTermAttribute.class);
            // 添加一个偏移量的引用,记录了关键词的开始位置以及结束位置
            OffsetAttribute offsetAttribute = tokenStream.addAttribute(OffsetAttribute.class);
            // 将指针调整到列表的头部
            tokenStream.reset();
            // 遍历关键词列表,通过incrementToken方法判断列表是否结束
            while (tokenStream.incrementToken()) {
                // 关键词的起始位置
                System.out.println("start->" + offsetAttribute.startOffset());
                // 取关键词
                System.out.println(charTermAttribute);
                // 结束位置
                System.out.println("end->" + offsetAttribute.endOffset());
            }
            tokenStream.close();
        }
    }

    IKAnalyzer中文分析器使用方法

    第一步:将jar包导入项目中

    第二步:把配置文件和扩展词典和停用词词典添加到classpath

     

  • 相关阅读:
    201671010456-张琼 实验三作业互评与改进
    阅读《构建之法》后的相关问题
    个人作业-软件工程实践总结
    团队作业第二次—项目选题报告
    结对第二次—文献摘要热词统计及进阶需求
    结对第一次—原型设计(文献摘要热词统计)
    第一次作业-准备篇
    个人作业——软件工程实践总结作业
    团队作业第二次—项目选题报告
    结对第二次—文献摘要热词统计及进阶需求
  • 原文地址:https://www.cnblogs.com/jepson6669/p/9051833.html
Copyright © 2011-2022 走看看