IKAnalyzer分词插件使用方法
前言
随着越来越多的大数据网站崛起,特别是一些私人网站都提供了站内搜索,有些人会用elastsearch来实现站内搜索的目的,但是一些小站并没有那么大的数据提供搜索,在安装一个 elastsearch 服务未免有点浪费?
因此,为了解决以上问题,本文章特意将 elastsearch 中的 IKAnalyzer分词插件 提取出来单独使用,不需要依赖 elastsearch 就可以使用,
使用方法也很简单,下面附上代码:
先引入pom依赖
<!--分词插件--><dependency><groupId>com.janeluo</groupId><artifactId>ikanalyzer</artifactId><version>2012_u6</version></dependency>
java代码:
package com.xd.core.common.utils;import com.google.common.collect.Lists;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;/*** <分词工具>** @className AnalyzerUtils* @Date 2019/1/19 17:17**/
public class AnalyzerUtils {/**** <分词>** @param content 需要分词的文章* @return java.lang.String[]*/public static List<String> participle(String content) throws IOException {//独立Lucene实现StringReader re = new StringReader(content);IKSegmenter ik = new IKSegmenter(re,true);Lexeme lex = null;List<String> words = new ArrayList<>();try {while((lex=ik.next())!=null){words.add(lex.getLexemeText());}}catch (Exception e) {e.printStackTrace();throw e;}return words;}public static void main(String[] args) throws IOException {List<String> participle = participle("如何成为一个高情商的人,心理学家玛莎.莱恩博士曾经创建了高情商训练课,从这四个方面帮助了无数人提升情商");System.out.println(participle);}}
运行结果:
[如何, 成为, 一个, 高, 情商, 的人, 心理学家, 玛莎, 莱, 恩, 博士, 曾经, 创, 建了, 高, 情商, 训练课, 从这, 四个, 方面, 帮助, 了无, 数人, 提升, 情商]
另外,如果有条件的话还是使用elastsearch 用作搜索引擎较好