인덱스 드라이브 목록, 내용 검색 캐시 모드 선택, 대상 폴더 및 확장자 관리 항목이 배치된 WinSearcher 설정 창

2026년 9월 30일

WinSearcher 환경설정 방법, 인덱스 디스크 관리 및 내용 검색 폴더·캐시 최적화

검색 도구를 설치한 뒤 모든 디스크와 파일에 대해 무분별하게 인덱싱이 작동하면 시스템 메모리(RAM)와 CPU 자원이 불필요하게 낭비될 수 있습니다. 특히 본문 내용 검색 기능은 사용자가 실제로 작업하는 프로젝트 폴더와 문서 파일 위주로 정밀하게 범위를 한정할 때 가장 효율적으로 동작합니다.

WinSearcher는 환경설정(settings.json)을 통해 인덱싱할 NTFS 로컬 드라이브를 선택적으로 제외하고, 본문 검색 폴더와 사용자 커스텀 확장자를 지정하며, 메모리 사용 정책(Lazy, Pin, Full)을 직접 결정할 수 있는 세부 관리 옵션을 지원합니다.

오늘 내용에서는 초기 설정 마법사의 기본 흐름부터 설정 창의 주요 항목별 역할, 그리고 시스템 자원 상황에 맞추어 캐시 정책을 튜닝하는 방법을 자세하게 설명 드리겠습니다.

기능이 필요한 상황

  • 불필요한 외장 백업 드라이브나 대용량 데이터 디스크를 파일명 인덱싱 대상에서 제외하여 메모리를 절약하고 싶을 때
  • 내 문서, 프로젝트 작업 폴더 등 특정 위치의 텍스트만 핀포인트로 본문 검색 대상에 등록하고 싶을 때
  • 개발 언어 소스 코드(.py, .json, .cs 등)를 내용 검색 확장자로 새로 추가해야 할 때
  • 시스템 RAM이 여유로워 캐시 모드를 Full로 올려 초고속 본문 검색을 구현하거나, 반대로 메모리 점유율을 최소화(Lazy)하고 싶을 때

작업 전 준비 및 확인사항

  • 루트 드라이브 제한 정책: 본문 내용 검색 폴더 지정 시 C:\, D:\와 같은 드라이브 최상위 루트 경로는 지정할 수 없습니다. 반드시 C:\Projects나 D:\Documents와 같은 하위 작업 폴더여야 합니다.
  • 드라이브 자동 보호: 내용 검색 대상 폴더로 지정된 폴더가 위치한 드라이브는 인덱스 대상 디스크에서 임의로 체크 해제할 수 없도록 자동 보호됩니다.
  • 인덱서 서비스 IPC 연동: 설정 창에서 변경한 옵션은 로컬 Named Pipe 통신(WinSearcherMainPipe)을 통해 백그라운드 인덱서 프로세스(WinSearcherIndexer.exe)로 실시간 전달되어 적용됩니다.

설정 옵션 및 캐시 모드 설명

  • 인덱스 디스크 (IndexedDrives): 시스템에 장착된 로컬 NTFS 드라이브 목록이 표시되며, 체크박스를 해제하면 해당 드라이브의 MFT 파일명 인덱싱이 비활성화됩니다.
  • 내용 검색 캐시 정책 (ContentCacheMode):
    • Lazy: 텍스트를 메모리에 상주시키지 않고 검색 요청 시 실시간으로 디스크에서 읽어 처리합니다. RAM 사용량이 가장 적습니다.
    • Pin: 자주 접근하거나 지정된 우선순위 텍스트 캐시를 메모리에 유지하여 속도와 리소스 사이의 균형을 맞춥니다.
    • Full: 인덱싱 대상 폴더의 모든 텍스트를 메모리에 선행 캐싱하여 가장 빠른 검색 속도를 냅니다. 최대 512MB RAM을 소모할 수 있습니다.
  • 내용 검색 대상 폴더 (ContentSearchFolders): 본문 텍스트 인덱싱을 수행할 디렉토리 경로 목록입니다.
  • 확장자 관리 (ExtraExtensions): 내장 기본 확장자 외에 사용자가 추가로 등록한 텍스트 및 코드 파일 확장자 칩 목록입니다.

단계별 사용 방법

1단계: 초기 설정 마법사 진행하기 (최초 실행 시)

WinSearcher를 처음 설치하고 실행하면 3단계 팝업 가이드(SetupWizardWindow)가 나타납니다.

  • 1단계 (드라이브): 파일 검색에 사용할 로컬 드라이브를 체크합니다.
  • 2단계 (폴더): 내용 검색에 사용할 작업 폴더를 선택합니다.
  • 3단계 (확장자): 추가로 스캔할 확장자를 등록합니다.
  • [다음] 버튼을 눌러 순서대로 진행하거나 [건너뛰기]를 클릭하여 기본값으로 즉시 완료할 수 있습니다. 완료 시 NeedsFirstRunWizard 플래그가 저장되어 다음 실행부터는 마법사가 나타나지 않습니다.

WinSearcher 최초 실행 시 표시되는 3단계 초기 설정 마법사 팝업 화면

2단계: 설정 창에서 인덱스 대상 디스크 On/Off 하기

런처 메뉴를 통해 [설정] 창을 열고 상단의 인덱스 디스크 목록을 확인합니다.

인덱싱에서 제외하고자 하는 드라이브(예: 대용량 백업용 D:\)의 체크박스를 클릭하여 선택을 해제합니다. 체크 해제 즉시 백그라운드 인덱서로 변경 신호가 전달되어 해당 드라이브는 파일 탐색 메모리 맵에서 제외됩니다.

WinSearcher 설정 창에서 특정 디스크 체크를 해제하여 인덱싱 대상에서 제외하는 화면

3단계: 내용 검색 캐시 모드(Lazy / Pin / Full) 선택하기

"내용 검색 캐시" 영역에서 PC 사양과 작업 목적에 맞는 모드의 라디오 버튼을 선택합니다.

  • 메모리 절약이 우선인 경우: [Lazy] 모드를 선택합니다.
  • 일상적인 개발 및 문서 작업: [Pin] 모드를 선택합니다.
  • 최대 512MB RAM을 활용해 초고속 본문 검색을 원하는 경우: [Full] 모드를 선택합니다. Full 모드를 선택하면 "전체 내용 캐시는 최대 512MB RAM을 사용할 수 있습니다. 계속하시겠습니까?" 경고 팝업이 노출되며, [예]를 눌러야 설정이 확정됩니다.

WinSearcher 설정에서 내용 검색 캐시 모드를 선택하고 Full 모드 경고창이 나타난 화면

4단계: 내용 검색 작업 폴더 추가 및 삭제하기

"내용 검색 폴더" 항목에서 [+ 폴더 추가] 버튼을 클릭합니다.

폴더 선택 대화상자(OpenFolderDialog)가 열리면 본문 검색을 수행할 작업 디렉토리(예: C:\Projects 또는 D:\Work)를 지정합니다. 경로 유효성 검사가 진행되며 정상적으로 등록되면 목록에 폴더 경로가 추가됩니다.

기존 폴더를 검색 대상에서 제외하려면 목록 우측에 있는 × (삭제) 버튼을 클릭하면 즉시 캐시 인덱싱 대상에서 제외됩니다.

WinSearcher 설정 창에서 본문 내용 검색용 작업 폴더를 추가하여 목록에 표시된 화면

5단계: 추가 확장자 등록 및 기본 확장자 확인하기

"확장자 추가" 텍스트 입력창에 본문 검색에 포함할 확장자를 입력하고 [추가] 버튼을 누릅니다.

예를 들어 .py, .json 또는 py, json 형식으로 입력 후 엔터를 누르면 정규화 처리를 거쳐 하단에 둥근 칩 형태의 태그로 등록됩니다. 만약 프로그램에 이미 내장된 기본 확장자이거나 중복된 값인 경우 "이미 기본 확장자에 포함되어 있습니다"라는 알림이 표시되어 불필요한 중복 등록을 방지합니다.

WinSearcher 설정 창에서 사용자 추가 확장자를 등록하여 칩 목록으로 표시된 화면

실행 결과 확인 방법

  • 설정 파일 실시간 저장: 설정 창에서 변경한 모든 옵션(체크박스, 라디오 버튼, 폴더 및 확장자 목록)은 즉시 로컬 %LOCALAPPDATA%\WinSearcher\settings.json 파일에 반영됩니다.
  • 하단 피드백 메시지: 각 항목을 추가하거나 변경할 때마다 설정 창 하단 상태 텍스트에 "내용 검색 폴더를 추가했습니다", "디스크를 인덱스에서 제외했습니다" 등의 실행 결과 피드백이 표시됩니다.
  • 인덱서 IPC 파이프 통신: UI에서 설정이 바뀌면 백그라운드 인덱서 서비스(WinSearcherIndexer.exe)로 실시간 갱신 명령이 전달되어 백그라운드 인덱스 캐시가 즉각 재구성됩니다.

활용 팁

활용 팁: 인덱스 제외 상태였던 드라이브라도 [내용 검색 폴더]로 해당 드라이브의 하위 폴더를 등록하면, EnsureIndexedDriveEnabled() 로직이 동작하여 해당 드라이브가 자동으로 인덱스 포함 상태로 복구됩니다.

활용 팁: 등록된 추가 확장자 칩 우측의 닫기 아이콘을 클릭하면 언제든지 해당 확장자만 골라 인덱싱 대상에서 신속히 제거할 수 있습니다.

주의사항

주의: 폴더 선택 시 C:\ 또는 D:\와 같은 드라이브 최상위 루트 디렉토리를 선택하면 경로 유효성 검증(ContentPathValidator.cs)에 의해 "드라이브 전체는 내용 검색 폴더로 지정할 수 없습니다"라는 오류 메시지가 뜨며 등록이 거부됩니다.

주의: 백그라운드 인덱서의 전체 목표 RAM 상한선은 최대 2GB, 본문 내용 캐시는 최대 512MB로 제한되어 있습니다. 등록된 파일 용량이 상한선을 초과할 경우 초과분은 자동으로 디스크 실시간 읽기로 전환됩니다.

자주 묻는 질문

Q1. C:\ 드라이브 전체를 내용 검색 폴더로 등록할 수 없는 이유는 무엇인가요?

A. Windows 시스템 파일 및 임시 파일이 포함된 루트 디스크 전체를 본문 인덱싱 대상으로 삼을 경우 과도한 디스크 I/O와 메모리 고갈을 유발하므로, 하위 작업 디렉토리 형태로만 등록할 수 있도록 차단되어 있습니다.

Q2. Full 캐시 모드와 Lazy 캐시 모드는 어떤 차이가 있나요?

A. Full 모드는 본문 텍스트 전체를 메모리에 미리 올려두어 검색 응답이 즉각적이지만 최대 512MB RAM을 차지할 수 있습니다. Lazy 모드는 검색할 때마다 디스크에서 파일을 읽어오므로 메모리를 거의 쓰지 않지만 검색 속도는 상대적으로 느려질 수 있습니다.

Q3. 추가한 확장자에서 점(.)을 빼먹고 입력해도 괜찮나요?

A. 네, 확장자 파서(FileContentExtensions.Parse())가 입력 문자열을 검증하여 점(.) 유무와 무관하게 규격화된 형태로 자동 보정하여 등록합니다.

Q4. 처음 설치할 때 떴던 3단계 마법사를 건너뛰었는데 나중에 다시 설정할 수 있나요?

A. 가능합니다. 언제든지 WinSearcher 설정 창을 열어 드라이브 체크, 폴더 추가, 확장자 관리를 원하는 시점에 자유롭게 구성할 수 있습니다.

마무리

WinSearcher의 환경설정 기능은 검색 엔진의 강력한 성능을 유지하면서도 사용자의 PC 자원을 불필요하게 낭비하지 않도록 세밀하게 조율해 주는 제어판입니다. 인덱스 디스크와 본문 작업 폴더를 필요한 영역으로 좁히고 적절한 캐시 모드를 선택하여 최적화된 검색 환경을 완성해 보시기 바랍니다.