diff --git a/backend/sql/precedent_fulltext.sql b/backend/sql/precedent_fulltext.sql index c65859ac..03c49ab8 100644 --- a/backend/sql/precedent_fulltext.sql +++ b/backend/sql/precedent_fulltext.sql @@ -1,2 +1,2 @@ ALTER TABLE precedent - ADD FULLTEXT idx_precedent_fulltext (notice, summary_of_the_judgment, precedent_content, case_name, case_number); \ No newline at end of file + ADD FULLTEXT idx_precedent_fulltext (notice, summary_of_the_judgment, precedent_content, case_name, case_number); \ No newline at end of file diff --git a/backend/src/main/java/com/ai/lawyer/domain/law/repository/LawRepositoryCustomImpl.java b/backend/src/main/java/com/ai/lawyer/domain/law/repository/LawRepositoryCustomImpl.java index 7369bf22..927b20e3 100644 --- a/backend/src/main/java/com/ai/lawyer/domain/law/repository/LawRepositoryCustomImpl.java +++ b/backend/src/main/java/com/ai/lawyer/domain/law/repository/LawRepositoryCustomImpl.java @@ -103,9 +103,9 @@ public Page searchLaws(LawSearchRequestDto searchRequest) { List content = query.fetch(); - if (content.isEmpty()) { - return new PageImpl<>(content, pageable, 0); - } +// if (content.isEmpty()) { +// return new PageImpl<>(content, pageable, 0); +// } // 조회한 법령 ID 목록 추출 List lawIds = content.stream() diff --git a/backend/src/main/java/com/ai/lawyer/domain/totalSearch/dto/SearchResponseDto.java b/backend/src/main/java/com/ai/lawyer/domain/totalSearch/dto/SearchResponseDto.java index 8c91dedd..21fc8cb0 100644 --- a/backend/src/main/java/com/ai/lawyer/domain/totalSearch/dto/SearchResponseDto.java +++ b/backend/src/main/java/com/ai/lawyer/domain/totalSearch/dto/SearchResponseDto.java @@ -18,5 +18,7 @@ public class SearchResponseDto { @Schema(description = "판례 검색 결과 페이지") private PageResponseDto precedents; -} + @Schema(description = "법령 + 판례 통합 총 건수") + private long lawPrecTotalElements; +} diff --git a/backend/src/main/java/com/ai/lawyer/domain/totalSearch/service/SearchServiceImpl.java b/backend/src/main/java/com/ai/lawyer/domain/totalSearch/service/SearchServiceImpl.java index 9320d540..de821c4a 100644 --- a/backend/src/main/java/com/ai/lawyer/domain/totalSearch/service/SearchServiceImpl.java +++ b/backend/src/main/java/com/ai/lawyer/domain/totalSearch/service/SearchServiceImpl.java @@ -72,6 +72,11 @@ public SearchResponseDto combinedSearch(SearchRequestDto request) { response.setPrecedents(precResult == null ? null : (PageResponseDto) precResult); } + // 통합 total 계산: laws.totalElements + precedents.totalElements + long lawsTotal = response.getLaws() != null ? response.getLaws().getTotalElements() : 0L; + long precTotal = response.getPrecedents() != null ? response.getPrecedents().getTotalElements() : 0L; + response.setLawPrecTotalElements(lawsTotal + precTotal); + if (request.isIncludeLaws() && request.isIncludePrecedents() && response.getLaws() == null && response.getPrecedents() == null) { throw new RuntimeException("법령 및 판례 검색 모두 실패"); diff --git a/backend/src/main/resources/db/migration/V20251119__add_fulltext_index_precedent.sql b/backend/src/main/resources/db/migration/V20251119__add_fulltext_index_precedent.sql new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/backend/src/main/resources/db/migration/V20251119__add_fulltext_index_precedent.sql @@ -0,0 +1 @@ +