Lucene之中文分词器(IK-Ananlyzer)-yellowcong
来源:互联网 发布:java long几个字节 编辑:程序博客网 时间:2024/05/19 02:30
IK分词全名为IK Analyzer,是由java编写的中文分词工具包,目前在lucene以及solr中用的比较多,采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式
下载地址
https://github.com/linvar/IKAnalyzer
ikanalyzer里面内置字典
案例
package com.yellowcong.index;import java.io.File;import java.io.StringReader;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;import org.wltea.analyzer.lucene.IKAnalyzer;import com.chenlb.mmseg4j.analysis.MMSegAnalyzer;/** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月3日<br/> * 创建时间:下午9:37:38<br/> * 机能概要: */public class Demo2 { public static void main(String[] args) throws Exception { //查看MMesj分词器 String dicPath = getDicPath(); // 获取到中文分词了 MMSegAnalyzer mmseg = new MMSegAnalyzer(new File(dicPath)); String content = "我是中国人"; System.out.println("----------MMSeg分词器--------------"); dispalyToken(mmseg, content); //定义IkAnalyzer分词器 Analyzer analyzer = new IKAnalyzer(true); //查看分词效果 System.out.println("------------IkAnalyzer分词器-----------"); dispalyToken(analyzer, content); } /** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月3日<br/> * 创建时间:下午9:20:13<br/> * 机能概要: 查看分词信息 * @param analyzer * @param content 需要分词的类容 * @throws Exception */ public static void dispalyToken(Analyzer analyzer, String content) throws Exception { TokenStream stream = analyzer.tokenStream("content", new StringReader(content)); // 获取分词信息 CharTermAttribute cta = stream.addAttribute(CharTermAttribute.class); stream.reset(); while (stream.incrementToken()) { System.out.println("[" + cta.toString() + "]"); } } /** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月3日<br/> * 创建时间:下午4:50:16<br/> * 机能概要:获取字典的存放地址 * * @return */ public static String getDicPath() { String dicPath = Demo1.class.getClassLoader().getResource("data").getFile(); return dicPath; }}
运行结果
环境搭建
工程结构
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>yellowcong</groupId> <artifactId>day12_02</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>day12_02</name> <url>http://maven.apache.org</url> <!-- 配置国内比较快的 阿里云的Maven仓库 --> <repositories> <repository> <id>aliyunmaven</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> </repositories> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <lucene.version>4.5.1</lucene.version> <mmseg4j.version>1.9.1</mmseg4j.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <!-- lucene核心包 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> </dependency> <!--QueryParser 查询类--> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queryparser</artifactId> <version>${lucene.version}</version> </dependency> <!-- 分词器 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>${lucene.version}</version> </dependency> <!-- 高亮显示 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-highlighter</artifactId> <version>${lucene.version}</version> </dependency> <!-- 庖丁解牛分词器 --> <dependency> <groupId>com.chenlb.mmseg4j</groupId> <artifactId>mmseg4j-core</artifactId> <version>${mmseg4j.version}</version> </dependency> <dependency> <groupId>com.chenlb.mmseg4j</groupId> <artifactId>mmseg4j-analysis</artifactId> <version>${mmseg4j.version}</version> </dependency> <!-- ikanalyzer 分词器 --> <dependency> <groupId>com.janeluo</groupId> <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency> </dependencies></project>
参考文章
http://blog.csdn.net/a925907195/article/details/41826363
http://blog.csdn.net/zhu_tianwei/article/details/46607421
阅读全文
0 0
- Lucene之中文分词器(IK-Ananlyzer)-yellowcong
- Lucene之中文庖丁解牛(mmseg)分词器-yellowcong
- Lucene中文分词IK Analyzer
- Lucene全文搜索之分词器:使用IK Analyzer中文分词器(修改IK Analyzer源码使其支持lucene5.5.x)
- Solr之IKAnalyzer中文分词器-yellowcong
- 一步一步跟我学习lucene(4)---lucene的中文分词器jcseg和IK Analyzer分词器及其使用说明
- Lucene的IK Analyzer 3.0 中文分词器 全解
- Lucene 学习(二):使用IK Analyzer中文分词
- 中文分词器(IK)的配置文件
- Lucene之显示分词信息-yellowcong
- Lucene小练十三(IK分词器)
- IK中文分词器简介
- IK中文分词器配置
- IK Analyzer中文分词器
- IK中文分词器原理
- IK分词器的使用lucene
- Lucene 6.0下使用IK分词器
- Lucene 6.0下使用IK分词器
- CentOS安装mysql后的常用操作
- linux 下mysql 5.7.12 安装
- 正则表达式
- normalize.css 中文版
- [题解] [网络流二十四题(一)] 飞行员配对方案问题 (二分图匹配)
- Lucene之中文分词器(IK-Ananlyzer)-yellowcong
- java常见异常
- java操作符测试总结
- 河南军民融合概况
- python基础3:字符串、列表、元组、字典
- pyinstaller---3步即可将你的py文件转成exe格式
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述
- oracle一道简单面试题和一道深入面试题
- Java方法调用的值传递方式