인덱싱과 Watch¶
인덱싱¶
# 인덱스 재생성
cgrep index --force
# 인덱싱에서 경로 제외
cgrep index -e vendor/ -e dist/
# 임베딩 모드
cgrep index --embeddings auto
cgrep index --embeddings precompute
Watch와 daemon¶
# 포그라운드 watch
cgrep watch
cgrep w
# daemon 모드 (백그라운드 watch 관리)
cgrep daemon start
cgrep daemon status
cgrep daemon stop
# 단축 별칭 형태
cgrep bg up
cgrep bg st
cgrep bg down
대형 저장소 저부하 예시:
cgrep watch --debounce 30 --min-interval 180 --max-batch-delay 240
# 단축 플래그 형태
cgrep w -d 30 -i 180 -b 240
적응형 모드 비활성화(고정 타이밍):
cgrep watch --no-adaptive
동작 참고¶
- 인덱스는
.cgrep/아래에 저장 - 하위 디렉터리에서 검색해도 가장 가까운 상위 인덱스를 재사용
- 인덱싱은
.gitignore를 무시, scan 모드는.gitignore를 존중 - watch는 기본적으로 적응형 backoff 사용 (
--no-adaptive로 비활성화) - watch 기본값은 백그라운드 운용 기준으로 조정 (
--min-interval 180, 약 3분) - watch는 인덱싱 가능한 확장자만 반응하고 temp/swap 파일은 건너뜀
- watch는 초기/증분 인덱싱 모두에서
[index].exclude_paths를 존중 - watch 재인덱싱은 변경 경로만 증분 처리(갱신/삭제)
Watch 기본값¶
| 옵션 | 기본값 | 목적 |
|---|---|---|
--debounce |
15 |
이벤트 폭주가 가라앉을 때까지 대기 |
--min-interval |
180 |
재인덱싱 사이 최소 간격 |
--max-batch-delay |
180 |
이벤트가 계속 들어오면 강제 실행 |
| 적응형 모드 | on |
변경량/재인덱싱 비용에 따라 자동 backoff |
백그라운드 watch¶
# 백그라운드 실행 + 로그 기록
nohup cgrep watch > .cgrep/watch.log 2>&1 &
# 프로세스/로그 확인
pgrep -fl "cgrep watch"
tail -f .cgrep/watch.log
# 종료
pkill -f "cgrep watch"
대형 저장소에서는 아래 조합을 권장합니다.
- --min-interval 180 이상
- --debounce 30 이상
- 적응형 모드 기본값 유지