前言
隨著越來越多的大數據網站崛起,特別是一些私人網站都提供了站內搜索,有些人會用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 用作搜索引擎較好