From c5b0216a379056105fc0db55a9444a976c84c192 Mon Sep 17 00:00:00 2001 From: joungmin Date: Tue, 16 Jun 2026 01:35:18 +0900 Subject: [PATCH] =?UTF-8?q?fix(catchtable):=20URL=20=ED=8C=A8=ED=84=B4?= =?UTF-8?q?=EC=9D=84=20/ct/shop/,=20/ct/dining/=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EA=B5=90=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 실제 캐치테이블은 app.catchtable.co.kr/ct/shop/... 형식 - 옛 /shop/, /dining/ 패턴은 contains 매칭 실패 → 첫 회차 1044건 전부 미발견 - 패턴 교정 후 NONE 해제 + 재실행 필요 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 --- CHANGELOG.md | 5 +++++ .../java/com/tasteby/controller/RestaurantController.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5c89d1..efb9f1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ ## 2026-06-15 +### 🐛 캐치테이블 URL 패턴 수정 (v0.1.50) +- 실제 catchtable URL은 `app.catchtable.co.kr/ct/shop/...` 형식 (옛 `/shop/`, `/dining/`은 매칭 실패) +- 첫 회차(v0.1.49) 캐치테이블 벌크 결과 1044건 전부 미발견(매핑 0%)의 원인 +- 패턴을 `catchtable.co.kr/ct/shop/`, `catchtable.co.kr/ct/dining/`로 교정 후 NONE 해제 + 재실행 + ### 🐛 WebSearchService HTTP timeout 추가 (v0.1.49) - 벌크 백필 중 특정 검색에서 무한 hang → backend executor virtual thread 점유로 후속 작업 중단 (90건 처리 후 멈춤) - connectTimeout=5s + request timeout=15s (Naver/DDG 둘 다) diff --git a/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java b/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java index b4e25f5..6a554d3 100644 --- a/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java +++ b/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java @@ -423,9 +423,10 @@ public class RestaurantController { } private List> searchCatchtable(String restaurantName) { + // 실제 캐치테이블 URL은 /ct/shop/ 형식. 옛 /dining/ /shop/ 패턴은 매칭 실패. return webSearch.search( "site:app.catchtable.co.kr " + restaurantName, - "catchtable.co.kr/dining/", "catchtable.co.kr/shop/" + "catchtable.co.kr/ct/shop/", "catchtable.co.kr/ct/dining/" ); }