提供删除ES数据的接口

This commit is contained in:
luke 2025-06-27 00:56:33 +08:00
parent 1231f0c826
commit 8717ad49b7
4 changed files with 63 additions and 11 deletions

View File

@ -1,17 +1,18 @@
修订记录 修订记录
| 版本 | 时间 | 修订人 | 改动点 | | 版本 | 时间 | 修订人 | 改动点 |
|:-----:|:----------:|:-------:|:-------------------:| |:-----:|:----------:|:-------:|:---------------------------------:|
| 1.0.0 | 2025-06-05 | Luke.Ye | 添加修订记录新增token校验接口 | | 1.0.0 | 2025-06-05 | Luke.Ye | 添加修订记录新增token校验接口 |
| 1.0.1 | 2025-06-06 | Luke.Ye | 重构登录Token校验逻辑 | | 1.0.1 | 2025-06-06 | Luke.Ye | 重构登录Token校验逻辑 |
| 1.0.2 | 2025-06-09 | Luke.Ye | 添加用户角色相关逻辑,重构代码 | | 1.0.2 | 2025-06-09 | Luke.Ye | 添加用户角色相关逻辑,重构代码 |
| 1.0.3 | 2025-06-16 | Luke.Ye | 新增文档上传至对象存储接口 | | 1.0.3 | 2025-06-16 | Luke.Ye | 新增文档上传至对象存储接口 |
| 1.0.4 | 2025-06-17 | Luke.Ye | 上传文档记录入库 | | 1.0.4 | 2025-06-17 | Luke.Ye | 上传文档记录入库 |
| 1.0.5 | 2025-06-19 | Luke.Ye | 文档导入ES逻辑优化 | | 1.0.5 | 2025-06-19 | Luke.Ye | 文档导入ES逻辑优化 |
| 1.0.6 | 2025-06-20 | Luke.Ye | 完成对象存储删除接口,优化部分代码 | | 1.0.6 | 2025-06-20 | Luke.Ye | 完成对象存储删除接口,优化部分代码 |
| 1.0.7 | 2025-06-22 | Luke.Ye | 导入文档类型新增支持ppt & txt | | 1.0.7 | 2025-06-22 | Luke.Ye | 导入文档类型新增支持ppt & txt |
| 1.1.0 | 2025-06-22 | Luke.Ye | 完成llm接口迁移至后端 | | 1.1.0 | 2025-06-22 | Luke.Ye | 完成llm接口迁移至后端 |
| 1.1.1 | 2025-06-26 | Luke.Ye | 提供删除ES数据的接口ob仓库监听发生删除事件则同步删除ES |

View File

@ -48,4 +48,8 @@ public interface DocAppService {
* @param latestMillis --- 最新版本文件的上传时间毫秒 * @param latestMillis --- 最新版本文件的上传时间毫秒
*/ */
int markOldSearchableRecordsAsDiscarded(String localRelaFilePath, long latestMillis); int markOldSearchableRecordsAsDiscarded(String localRelaFilePath, long latestMillis);
boolean batchDeleteFilesInES(List<String> filePaths);
} }

View File

@ -127,4 +127,10 @@ public class DocAppServiceImpl implements DocAppService{
return fileDomainService.updateOldSearchableRecordsByRelaPathAndTime(localRelaFilePath, latestMillis, return fileDomainService.updateOldSearchableRecordsByRelaPathAndTime(localRelaFilePath, latestMillis,
SearchableStatusEnum.SUCCESS.code, SearchableStatusEnum.DISCARDED.code); SearchableStatusEnum.SUCCESS.code, SearchableStatusEnum.DISCARDED.code);
} }
@Override
public boolean batchDeleteFilesInES(List<String> filePaths) {
esGateway.deleteByFilepaths(filePaths);
return true;
}
} }

View File

@ -0,0 +1,41 @@
package com.knowledge.base.infrastructure.north.controller;
import com.knowledge.base.application.service.DocAppService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* Obisidian Vault仓库内容发生变化
*/
@RestController
@RequestMapping("/api/v1/vault")
@RequiredArgsConstructor
@Slf4j
public class VaultChangeController {
private final DocAppService docAppService;
/**
* git仓库发生删除需同步删除ES
* @param relaFilePaths
* @return
*/
@PostMapping("/remove-deleted-files-in-es")
public ResponseEntity<?> removeDeletedFilesInEs(@RequestBody List<String> relaFilePaths) {
log.info("Obsidian Vault中存在文件被删除开始同步删除ES中的文件relaFilePaths: {}", relaFilePaths);
boolean res = docAppService.batchDeleteFilesInES(relaFilePaths);
log.info("完成删除ES数据res: {}, relaFilePaths: {}", res, relaFilePaths);
return ResponseEntity.ok(Map.of(
"result", res
));
}
}