fix(文件搜索): ES文件搜索流程优化
This commit is contained in:
parent
d9779fb181
commit
bc9b48b524
@ -67,8 +67,6 @@ public class AsyncTaskComp {
|
||||
}
|
||||
|
||||
public Future<String> deleteUserFile(String userFileId) {
|
||||
|
||||
long begin = System.currentTimeMillis();
|
||||
UserFile userFile = userFileService.getById(userFileId);
|
||||
if (userFile.getIsDir() == 1) {
|
||||
LambdaQueryWrapper<UserFile> userFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
@ -105,11 +103,17 @@ public class AsyncTaskComp {
|
||||
}
|
||||
}
|
||||
|
||||
long end = System.currentTimeMillis();
|
||||
System.out.println("任务 deleteUserFile 耗时=" + (end - begin));
|
||||
return new AsyncResult<String>("deleteUserFile");
|
||||
}
|
||||
|
||||
public Future<String> checkESUserFileId(String userFileId) {
|
||||
UserFile userFile = userFileMapper.selectById(userFileId);
|
||||
if (userFile == null) {
|
||||
fileDealComp.deleteESByUserFileId(userFileId);
|
||||
}
|
||||
return new AsyncResult<String>("checkUserFileId");
|
||||
}
|
||||
|
||||
|
||||
public Future<String> saveUnzipFile(UserFile userFile, FileBean fileBean, int unzipMode, String entryName, String filePath) {
|
||||
String unzipUrl = UFOPUtils.getTempFile(fileBean.getFileUrl()).getAbsolutePath().replace("." + userFile.getExtendName(), "");
|
||||
|
@ -287,7 +287,7 @@ public class FileDealComp {
|
||||
fileSearch.setContent(content);
|
||||
|
||||
}*/
|
||||
elasticsearchClient.index(i -> i.index("filesearch").id(String.valueOf(fileSearch.getUserFileId())).document(fileSearch));
|
||||
elasticsearchClient.index(i -> i.index("filesearch").id(fileSearch.getUserFileId()).document(fileSearch));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.debug("ES更新操作失败,请检查配置");
|
||||
@ -300,7 +300,7 @@ public class FileDealComp {
|
||||
try {
|
||||
elasticsearchClient.delete(d -> d
|
||||
.index("filesearch")
|
||||
.id(String.valueOf(userFileId)));
|
||||
.id(userFileId));
|
||||
} catch (Exception e) {
|
||||
log.debug("ES删除操作失败,请检查配置");
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import com.qiwenshare.common.util.security.JwtUser;
|
||||
import com.qiwenshare.common.util.security.SessionUtil;
|
||||
import com.qiwenshare.file.api.IFileService;
|
||||
import com.qiwenshare.file.api.IUserFileService;
|
||||
import com.qiwenshare.file.component.AsyncTaskComp;
|
||||
import com.qiwenshare.file.component.FileDealComp;
|
||||
import com.qiwenshare.file.config.es.FileSearch;
|
||||
import com.qiwenshare.file.domain.FileBean;
|
||||
@ -55,6 +56,8 @@ public class FileController {
|
||||
|
||||
@Resource
|
||||
FileDealComp fileDealComp;
|
||||
@Resource
|
||||
AsyncTaskComp asyncTaskComp;
|
||||
@Autowired
|
||||
private ElasticsearchClient elasticsearchClient;
|
||||
|
||||
@ -141,6 +144,7 @@ public class FileController {
|
||||
BeanUtil.copyProperties(hit.source(), searchFileVO);
|
||||
searchFileVO.setHighLight(hit.highlight());
|
||||
searchFileVOList.add(searchFileVO);
|
||||
asyncTaskComp.checkESUserFileId(searchFileVO.getUserFileId());
|
||||
}
|
||||
return RestResult.success().data(searchFileVOList);
|
||||
}
|
||||
|
@ -32,13 +32,6 @@ public class TaskController {
|
||||
|
||||
@Scheduled(fixedRate = Long.MAX_VALUE)
|
||||
public void updateElasticSearch() {
|
||||
|
||||
try {
|
||||
elasticsearchClient.delete(d -> d.index("filesearch"));
|
||||
} catch (Exception e) {
|
||||
log.debug("删除ES失败:" + e);
|
||||
}
|
||||
|
||||
List<UserFile> userfileList = userFileService.list();
|
||||
for (UserFile userFile : userfileList) {
|
||||
fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
|
||||
|
Loading…
Reference in New Issue
Block a user