我正在编写一个文档存储库应用程序,它通过文件系统上的文件夹接收word文档,并将它们存储在Amazon S3中。目前我有一个@Service
和一个@Repository
,如下所示:
@Service
public class DocumentService {
@Autowired
DocumentRepository documentRepository;
public void storeDocument(Document document) {
documentRepository.store(document);
}
public Document retrieveDocument(String id) {
return documentRepository.retrieve(id);
}
}
@Repository
public class DocumentRepository {
@Autowired
AmazonS3Client amazonS3Client;
public void store(Document document) {
amazonS3Client.putObject("word-bucket", document.getId(), document.getFile());
}
public Document retrieve(String id) {
S3Object s3Object = amazonS3Client.getObject(new GetObjectRequest("word-bucket", id));
Document document = new Document(id, s3Object.getObjectContent());
return document;
}
}
我必须扩展应用程序,以便在遇到新文档时,文本正文由elasticsearch索引。看起来我有两个选择来实现这个目标:
存储库的想法是将其与单个“商店”相关联,例如数据库,文件系统?如果是这样,那么第二个选项似乎是最合适的。
提前感谢任何指示。