diff --git a/src/main/java/com/novelreader/repository/NovelRepository.java b/src/main/java/com/novelreader/repository/NovelRepository.java index 6248d1f..7534c71 100644 --- a/src/main/java/com/novelreader/repository/NovelRepository.java +++ b/src/main/java/com/novelreader/repository/NovelRepository.java @@ -22,5 +22,16 @@ public interface NovelRepository extends MongoRepository { Page findByNameOrAuthorAndTags(String keyword, List tags, Pageable pageable); Page findAll(Pageable pageable); + + // 按作者精确匹配 + List findByAuthor(String author); + + // 按书名前缀匹配(不分页,用于智能搜索) + @Query("{ 'name': { $regex: '^?0', $options: 'i' } }") + List findByNameStartingWithIgnoreCase(String prefix); + + // 按书名模糊匹配(不分页,用于智能搜索) + @Query("{ 'name': { $regex: ?0, $options: 'i' } }") + List findByNameContainingIgnoreCase(String keyword); }