分词es路径修改

This commit is contained in:
liyj 2025-07-19 17:30:03 +08:00
parent e8a479f3f5
commit d2198301be
2 changed files with 11 additions and 14 deletions

View File

@ -10,13 +10,10 @@ package com.suisung.mall.common.utils;
import com.huaban.analysis.jieba.JiebaSegmenter; import com.huaban.analysis.jieba.JiebaSegmenter;
import com.huaban.analysis.jieba.WordDictionary; import com.huaban.analysis.jieba.WordDictionary;
import org.springframework.core.io.ClassPathResource; import org.slf4j.Logger;
import org.springframework.core.io.Resource; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
@ -33,6 +30,7 @@ import static com.suisung.mall.common.utils.ProductTitleUtil.*;
@Component @Component
public class JiebaUtils { public class JiebaUtils {
private static final Logger log = LoggerFactory.getLogger(JiebaUtils.class);
private final JiebaSegmenter segmenter = new JiebaSegmenter(); private final JiebaSegmenter segmenter = new JiebaSegmenter();
// 中文保护标记不会被分割 // 中文保护标记不会被分割
private static final String PROTECT_START = "开始"; private static final String PROTECT_START = "开始";
@ -71,13 +69,12 @@ public class JiebaUtils {
private static void loadUserDict() { private static void loadUserDict() {
// 方法1通过文件加载 // 方法1通过文件加载
WordDictionary dictionary = WordDictionary.getInstance(); WordDictionary dictionary = WordDictionary.getInstance();
try { dictionary.loadDict();
Resource resource=new ClassPathResource("dic/user_dict.txt"); // Resource resource=new ClassPathResource("dic/dict.txt");
Path path = Paths.get(resource.getURI()); // if(resource.exists()){
dictionary.loadUserDict(path); // //Path path = Paths.get(resource.getURI());
} catch (IOException e) { // dictionary.loadDict();
throw new RuntimeException(e); // }
}
} }
@ -401,14 +398,14 @@ public class JiebaUtils {
public static void main(String[] args) { public static void main(String[] args) {
// JiebaUtils jiebaUtils = new JiebaUtils(); // JiebaUtils jiebaUtils = new JiebaUtils();
//String text = "云计算和区块链是热门技术"; String text = "云计算和区块链是热门技术";
// String text = "新鲜牛肉饺子500g"; // String text = "新鲜牛肉饺子500g";
//String text = "志高1.8L电热水壶"; //String text = "志高1.8L电热水壶";
// String text = "单充数据线2m"; // String text = "单充数据线2m";
// String text = "雅安利2.0*2.3四件套"; // String text = "雅安利2.0*2.3四件套";
// String text = "RSCW-1949剃须刀"; // String text = "RSCW-1949剃须刀";
System.out.println(cleanNumberAndDigit("日本豆腐3条")); System.out.println(cleanNumberAndDigit("日本豆腐3条"));
String text="六指鼠童袜001"; //String text="六指鼠童袜001";
List<String> words = JiebaUtils.extractKeywords(text); List<String> words = JiebaUtils.extractKeywords(text);
System.out.println(words); System.out.println(words);