diff --git a/src/main/java/in/koreatech/koin/domain/community/keyword/repository/ArticleKeywordRepository.java b/src/main/java/in/koreatech/koin/domain/community/keyword/repository/ArticleKeywordRepository.java index 1ff78c6f9..aac5ea0de 100644 --- a/src/main/java/in/koreatech/koin/domain/community/keyword/repository/ArticleKeywordRepository.java +++ b/src/main/java/in/koreatech/koin/domain/community/keyword/repository/ArticleKeywordRepository.java @@ -31,7 +31,7 @@ Optional findByKeywordAndCategoryIncludingDeleted( Optional findById(Integer id); - List findAllByCategory(KeywordCategory category, Pageable pageable); + List findAllByCategory(KeywordCategory category); @Query(""" SELECT new in.koreatech.koin.domain.community.article.dto.ArticleKeywordResult(k.id, k.keyword, COUNT(u)) diff --git a/src/main/java/in/koreatech/koin/domain/community/util/KeywordExtractor.java b/src/main/java/in/koreatech/koin/domain/community/util/KeywordExtractor.java index f0a59f69b..5bc43decf 100644 --- a/src/main/java/in/koreatech/koin/domain/community/util/KeywordExtractor.java +++ b/src/main/java/in/koreatech/koin/domain/community/util/KeywordExtractor.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,27 +16,16 @@ @Transactional(readOnly = true) public class KeywordExtractor { - private static final int KEYWORD_BATCH_SIZE = 100; - private final ArticleKeywordRepository articleKeywordRepository; public List matchKeywords(String title, KeywordCategory category) { List matchedKeywords = new ArrayList<>(); - int offset = 0; - - while (true) { - Pageable pageable = PageRequest.of(offset / KEYWORD_BATCH_SIZE, KEYWORD_BATCH_SIZE); - List keywords = articleKeywordRepository.findAllByCategory(category, pageable); + List keywords = articleKeywordRepository.findAllByCategory(category); - if (keywords.isEmpty()) { - break; - } - for (ArticleKeyword keyword : keywords) { - if (title.contains(keyword.getKeyword())) { - matchedKeywords.add(keyword.getKeyword()); - } + for (ArticleKeyword keyword : keywords) { + if (title.contains(keyword.getKeyword())) { + matchedKeywords.add(keyword.getKeyword()); } - offset += KEYWORD_BATCH_SIZE; } return matchedKeywords;