fix jcseg code

This commit is contained in:
Looly 2019-12-12 10:35:21 +08:00
parent 6992ea9ee1
commit b59e0c1b4f
3 changed files with 17 additions and 26 deletions

View File

@ -3,12 +3,10 @@ package cn.hutool.extra.tokenizer.engine.jcseg;
import java.io.IOException;
import java.io.StringReader;
import org.lionsoul.jcseg.tokenizer.core.ADictionary;
import org.lionsoul.jcseg.tokenizer.core.DictionaryFactory;
import org.lionsoul.jcseg.tokenizer.core.ISegment;
import org.lionsoul.jcseg.tokenizer.core.JcsegException;
import org.lionsoul.jcseg.tokenizer.core.JcsegTaskConfig;
import org.lionsoul.jcseg.tokenizer.core.SegmentFactory;
import org.lionsoul.jcseg.ISegment;
import org.lionsoul.jcseg.dic.ADictionary;
import org.lionsoul.jcseg.dic.DictionaryFactory;
import org.lionsoul.jcseg.segmenter.SegmenterConfig;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.tokenizer.TokenizerEngine;
@ -30,19 +28,13 @@ public class JcsegEngine implements TokenizerEngine {
* 构造
*/
public JcsegEngine() {
// 创建JcsegTaskConfig分词配置实例自动查找加载jcseg.properties配置项来初始化
JcsegTaskConfig config = new JcsegTaskConfig(true);
// 创建SegmenterConfig分词配置实例自动查找加载jcseg.properties配置项来初始化
final SegmenterConfig config = new SegmenterConfig(true);
// 创建默认单例词库实现并且按照config配置加载词库
ADictionary dic = DictionaryFactory.createSingletonDictionary(config);
final ADictionary dic = DictionaryFactory.createSingletonDictionary(config);
// 依据给定的ADictionary和JcsegTaskConfig来创建ISegment
try {
this.segment = SegmentFactory.createJcseg(//
JcsegTaskConfig.COMPLEX_MODE, //
new Object[] { config, dic });
} catch (JcsegException e) {
throw new TokenizerException(e);
}
// 依据给定的ADictionary和SegmenterConfig来创建ISegment
this.segment = ISegment.COMPLEX.factory.create(config, dic);
}
/**

View File

@ -1,15 +1,14 @@
package cn.hutool.extra.tokenizer.engine.jcseg;
import java.io.IOException;
import java.util.Iterator;
import java.util.NoSuchElementException;
import org.lionsoul.jcseg.tokenizer.core.ISegment;
import org.lionsoul.jcseg.tokenizer.core.IWord;
import cn.hutool.extra.tokenizer.Result;
import cn.hutool.extra.tokenizer.TokenizerException;
import cn.hutool.extra.tokenizer.Word;
import org.lionsoul.jcseg.ISegment;
import org.lionsoul.jcseg.IWord;
import java.io.IOException;
import java.util.Iterator;
import java.util.NoSuchElementException;
/**
* Jcseg分词结果包装<br>
@ -64,6 +63,7 @@ public class JcsegResult implements Result{
throw new UnsupportedOperationException("Jcseg result not allow to remove !");
}
@SuppressWarnings("NullableProblems")
@Override
public Iterator<Word> iterator() {
return this;

View File

@ -1,8 +1,7 @@
package cn.hutool.extra.tokenizer.engine.jcseg;
import org.lionsoul.jcseg.tokenizer.core.IWord;
import cn.hutool.extra.tokenizer.Word;
import org.lionsoul.jcseg.IWord;
/**
* Jcseg分词中的一个单词包装