# Task: InfoKeyword Worker 크롤러 정확도 문제 원인 분석 및 수정

## Task ID: task-241.1

## 배경
제이회장님이 "가공육 암" 키워드로 직접 네이버 검색 결과를 확인한 결과,
InfoKeyword Worker의 분석 결과와 실제 네이버 데이터가 일치하지 않음.

### 네이버 실제 데이터 (제이회장님 직접 확인)
- **연관 검색어**: "가공육 암" 자기 자신만 나옴 → 본인 제외 시 0개
- **자동완성**: "가공육 암" 입력 시 자동완성 결과 없음
- **검색량**: PC 10 / 모바일 60 / Total 70

### InfoKeyword Worker 분석 결과 (Firestore 저장값)
- **step2 (연관 키워드)**: pass=??? (확인 필요)
- **step3 (자동완성)**: pass=True (잘못됨! 실제로는 없음)
- **step4 (검색량)**: pass=False, 데이터 없다고 판정 (잘못됨! 실제로는 70)

## 조사 범위

### 1. step2 (연관 검색어) — `/home/jay/projects/InfoKeyword/worker/crawler/related_keywords.py`
- 네이버 연관 검색어 크롤링 로직 확인
- **핵심**: 검색한 키워드 자체가 연관 검색어에 포함되면 제외해야 함
- 현재 로직이 자기 자신을 포함하고 있는지 확인
- 또한 "연관 키워드"라는 표현을 "연관 검색어"로 변경해야 함 (프론트엔드 STEP_LABELS도)

### 2. step3 (자동완성) — `/home/jay/projects/InfoKeyword/worker/crawler/autocomplete.py`
- 네이버 자동완성 API/크롤링 로직 확인
- "가공육 암"으로 자동완성이 없는데 왜 pass=True로 나오는지 원인 파악
- 실제로 어떤 데이터를 가져왔는지 Firestore에서 확인 (analysis ID: CCQSDNfQZABqvr1GOyS6)
- 잘못된 API 엔드포인트를 쓰고 있거나, 다른 키워드의 결과를 가져오는 건 아닌지

### 3. step4 (검색량) — `/home/jay/projects/InfoKeyword/worker/crawler/search_ad.py`
- 네이버 검색광고 API 호출 로직 확인
- PC 10 / 모바일 60이 실제 값인데 왜 데이터 없다고 판정했는지
- API 키/인증 문제인지, 파싱 오류인지, 임계값 문제인지

### 4. Firestore 저장 데이터 확인
- Firestore 문서 ID: `CCQSDNfQZABqvr1GOyS6`
- step2, step3, step4의 실제 저장 데이터를 Python으로 읽어서 확인
```python
import firebase_admin
from firebase_admin import credentials, firestore
cred = credentials.Certificate('/home/jay/.config/gcloud/service-accounts/infokeyword-j2h-drive.json')
if not firebase_admin._apps:
    firebase_admin.initialize_app(cred)
db = firestore.client()
doc = db.collection('ik_analyses').document('CCQSDNfQZABqvr1GOyS6').get()
data = doc.to_dict()
for r in data['results']:
    if r['keyword'] == '가공육 암':
        print('step2:', r['steps']['step2_related'])
        print('step3:', r['steps']['step3_autocomplete'])
        print('step4:', r['steps']['step4_search_volume'])
```

## 수정 범위

### Worker 크롤러 수정
각 문제의 원인을 파악한 후 수정:
- step2: 자기 자신 키워드 제외 로직 추가
- step3: 자동완성 크롤링/API 로직 수정 (실제 네이버 결과와 일치하도록)
- step4: 검색량 조회 로직 수정 (실제 네이버 키워드 도구 결과와 일치하도록)

### 프론트엔드 라벨 수정
- "연관 키워드" → "연관 검색어"로 변경 (STEP_LABELS in page.tsx)

## 주의사항
- 원인 분석을 먼저 하고, 그 다음에 수정할 것 (원인 모르고 수정하면 안 됨)
- Firestore 데이터를 직접 읽어서 Worker가 실제로 어떤 데이터를 크롤링했는지 확인
- 크롤러 수정 시 다른 키워드에 영향 없도록 주의
- `.git`이 없으므로 git 명령어 사용 금지
- Worker config: `/home/jay/projects/InfoKeyword/worker/config.py`
- Worker 환경변수: `/home/jay/projects/InfoKeyword/.env` 또는 `.env.local`

## 완료 후
1. 수정한 크롤러로 "가공육 암" 키워드 재분석 테스트 (Worker API 직접 호출)
2. 결과가 네이버 실제 데이터와 일치하는지 확인
3. `npm run build` 성공 확인 (프론트엔드 라벨 수정)
4. 보고서: `/home/jay/workspace/memory/reports/task-241.1.md`
