Merge branch 'master' of github.com:medcl/elasticsearch-analysis-ik
This commit is contained in:
commit
7c9b4771b3
@ -32,7 +32,11 @@ import java.io.FileNotFoundException;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.nio.file.attribute.BasicFileAttributes;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.FileVisitResult;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.SimpleFileVisitor;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
@ -173,6 +177,30 @@ public class Dictionary {
|
|||||||
return singleton;
|
return singleton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<String> walkFileTree(List<String> files, Path path) {
|
||||||
|
if (Files.isRegularFile(path)) {
|
||||||
|
files.add(path.toString());
|
||||||
|
} else if (Files.isDirectory(path)) try {
|
||||||
|
Files.walkFileTree(path, new SimpleFileVisitor<Path>() {
|
||||||
|
@Override
|
||||||
|
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
|
||||||
|
files.add(file.toString());
|
||||||
|
return FileVisitResult.CONTINUE;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public FileVisitResult visitFileFailed(Path file, IOException e) {
|
||||||
|
logger.error("[Ext Loading] listing files", e);
|
||||||
|
return FileVisitResult.CONTINUE;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("[Ext Loading] listing files", e);
|
||||||
|
} else {
|
||||||
|
logger.warn("[Ext Loading] file not found: " + path);
|
||||||
|
}
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
public List<String> getExtDictionarys() {
|
public List<String> getExtDictionarys() {
|
||||||
List<String> extDictFiles = new ArrayList<String>(2);
|
List<String> extDictFiles = new ArrayList<String>(2);
|
||||||
String extDictCfg = getProperty(EXT_DICT);
|
String extDictCfg = getProperty(EXT_DICT);
|
||||||
@ -181,8 +209,8 @@ public class Dictionary {
|
|||||||
String[] filePaths = extDictCfg.split(";");
|
String[] filePaths = extDictCfg.split(";");
|
||||||
for (String filePath : filePaths) {
|
for (String filePath : filePaths) {
|
||||||
if (filePath != null && !"".equals(filePath.trim())) {
|
if (filePath != null && !"".equals(filePath.trim())) {
|
||||||
Path file = PathUtils.get(filePath.trim());
|
Path file = PathUtils.get(getDictRoot(), filePath.trim());
|
||||||
extDictFiles.add(file.toString());
|
walkFileTree(extDictFiles, file);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -214,8 +242,8 @@ public class Dictionary {
|
|||||||
String[] filePaths = extStopWordDictCfg.split(";");
|
String[] filePaths = extStopWordDictCfg.split(";");
|
||||||
for (String filePath : filePaths) {
|
for (String filePath : filePaths) {
|
||||||
if (filePath != null && !"".equals(filePath.trim())) {
|
if (filePath != null && !"".equals(filePath.trim())) {
|
||||||
Path file = PathUtils.get(filePath.trim());
|
Path file = PathUtils.get(getDictRoot(), filePath.trim());
|
||||||
extStopWordDictFiles.add(file.toString());
|
walkFileTree(extStopWordDictFiles, file);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -391,7 +419,7 @@ public class Dictionary {
|
|||||||
for (String extDictName : extDictFiles) {
|
for (String extDictName : extDictFiles) {
|
||||||
// 读取扩展词典文件
|
// 读取扩展词典文件
|
||||||
logger.info("[Dict Loading] " + extDictName);
|
logger.info("[Dict Loading] " + extDictName);
|
||||||
Path file = PathUtils.get(getDictRoot(), extDictName);
|
Path file = PathUtils.get(extDictName);
|
||||||
try {
|
try {
|
||||||
is = new FileInputStream(file.toFile());
|
is = new FileInputStream(file.toFile());
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
@ -545,7 +573,7 @@ public class Dictionary {
|
|||||||
logger.info("[Dict Loading] " + extStopWordDictName);
|
logger.info("[Dict Loading] " + extStopWordDictName);
|
||||||
|
|
||||||
// 读取扩展词典文件
|
// 读取扩展词典文件
|
||||||
file = PathUtils.get(getDictRoot(), extStopWordDictName);
|
file = PathUtils.get(extStopWordDictName);
|
||||||
try {
|
try {
|
||||||
is = new FileInputStream(file.toFile());
|
is = new FileInputStream(file.toFile());
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user