micuncang 2023-12-13 15:36:49 +08:00
parent c45de2b7f4
commit a968250925

View File

@ -1,17 +1,17 @@
package cn.hutool.extra.tokenizer.engine.ikanalyzer; package cn.hutool.extra.tokenizer.engine.ikanalyzer;
import org.wltea.analyzer.core.IKSegmenter; import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.tokenizer.TokenizerEngine;
import cn.hutool.extra.tokenizer.Result; import cn.hutool.extra.tokenizer.Result;
import cn.hutool.extra.tokenizer.TokenizerEngine;
import org.wltea.analyzer.cfg.Configuration;
import org.wltea.analyzer.core.IKSegmenter;
/** /**
* IKAnalyzer分词引擎实现<br> * IKAnalyzer分词引擎实现<br>
* 项目地址https://github.com/yozhao/IKAnalyzer * 项目地址https://github.com/yozhao/IKAnalyzer
*
* @author looly
* *
* @author looly
*/ */
public class IKAnalyzerEngine implements TokenizerEngine { public class IKAnalyzerEngine implements TokenizerEngine {
@ -19,7 +19,6 @@ public class IKAnalyzerEngine implements TokenizerEngine {
/** /**
* 构造 * 构造
*
*/ */
public IKAnalyzerEngine() { public IKAnalyzerEngine() {
this(new IKSegmenter(null, true)); this(new IKSegmenter(null, true));
@ -27,7 +26,7 @@ public class IKAnalyzerEngine implements TokenizerEngine {
/** /**
* 构造 * 构造
* *
* @param seg {@link IKSegmenter} * @param seg {@link IKSegmenter}
*/ */
public IKAnalyzerEngine(IKSegmenter seg) { public IKAnalyzerEngine(IKSegmenter seg) {
@ -36,7 +35,8 @@ public class IKAnalyzerEngine implements TokenizerEngine {
@Override @Override
public Result parse(CharSequence text) { public Result parse(CharSequence text) {
this.seg.reset(StrUtil.getReader(text)); IKSegmenter copySeg = new IKSegmenter(null, (Configuration) ReflectUtil.getFieldValue(this.seg, "cfg"));
return new IKAnalyzerResult(this.seg); copySeg.reset(StrUtil.getReader(text));
return new IKAnalyzerResult(copySeg);
} }
} }