Small Asteroid Blog

공유 폴더 문서로 나만의 내부 검색 페이지 만들기 본문

카테고리 없음

공유 폴더 문서로 나만의 내부 검색 페이지 만들기

작은소행성☄️ 2025. 11. 30. 23:06
728x90

동생과 이야기하다가 이런 불만을 들었다.

"문서 찾는 게 너무 오래 걸려. 사람마다 케이스가 다르고, 했던 내용인거 같은데 관련 파일을 찾으려고 여러 파일을 일일이 열어봐야 해서 시간이 너무 오래 걸려"

 

사내 공유 폴더에 문서는 잘 정리되어 있는데, 파일명과 안에 내용들을 다 찾아봐야해서 시간이 많이 든다고 했다.

 

요구사항 정리

  1. 파일 내용으로 검색 - HWP, PDF, DOCX 파일 내용까지 검색
  2. 쉬운 사용 - 브라우저만 열 줄 알면 됨
  3. 보안 - 문서는 절대 외부로 나가면 안 됨

제약사항

  • 별도 서버 구축 불가
  • 외부 클라우드/API 사용 불가
  • PC마다 프로그램 설치 강요 불가

 

어떻게 만들었나

요구사항과 제약사항을 놓고 고민했다. 서버는 못 세우고, 클라우드도 못 쓰고, 프로그램 설치도 강요할 수 없다면... 남은 건 뭘까?

생각을 정리하다 보니 답이 나왔다.

공유 폴더에 HTML 파일 하나 만들어두고, 거기에 검색 기능을 넣는걸로.

문제는 HWP, PDF, DOCX 파일을 매번 열어서 검색할 수는 없다는 것. 그래서 인덱스를 떠올렸다. 책 뒤에 붙어있는 찾아보기처럼, 미리 문서 내용을 정리해두는 거다.

최종적으로 선택한 구조는 이렇다:

\\NAS\세무자료\
  ├── documents\          # 실제 문서들 (기존 폴더)
  └── search_portal\      # 새로 만든 검색 시스템
      ├── search.html     # 검색 페이지
      ├── build_index.py  # 인덱스 생성 파일
      └── index.js        # 인덱스 파일

 

작동 원리

1단계: 색인 만들기 (1주일에 한 번)

파이썬 스크립트(build_index.py)가 이런 일을 한다:

  • documents 폴더의 모든 파일을 훑는다
  • HWP, PDF, DOCX에서 텍스트를 추출한다
  • 각 문서의 정보를 정리해서 index.js라는 파일로 저장한다

 

2단계: 검색하기

  1. search.html 파일을 더블클릭한다
  2. 브라우저가 열리고 검색창이 나타난다
  3. 검색 키워드를 입력한다
  4. search.html이 index.js를 읽어서 매칭되는 문서를 보여준다
  5. 원하는 문서의 "파일 열기"를 클릭하면 실제 HWP/PDF 파일이 열린다

 

왜 이 방식인가?

  • 서버가 없다: 그냥 HTML 파일이라 브라우저만 있으면 된다
  • 설치가 없다: 공유 폴더에 있는 파일을 더블클릭만 하면 된다
  • 외부 전송 없다: 모든 게 사무실 NAS 안에서만 돌아간다
  • 빠르다: 실제 문서를 열지 않고 색인만 검색하니 빠르다

책으로 치면, 매번 책 전체를 읽는 대신 뒤쪽 "찾아보기"만 보는 것과 같은 원리다.

 

아쉬운 점

완벽하지는 않다.

  • 단순 문자열 매칭 (형태소 분석 없음)
  • 이미지 PDF 검색 불가
  • 문서 많아지면 브라우저 느려짐

 

완벽한 RAG 대신 실용적인 검색을 선택한 이유

처음의 계획

형태소 분석, 의미 기반 검색, LLM 질의응답까지 갖춘 제대로 된 RAG 시스템을 만들고 싶었는데

하지만 현실적 제약이 명확했다.

  • 비용: 클라우드 서버, API 호출 비용
  • 시간: 제대로 구축하려면 몇 개월 필요
  • 보안: 세무 문서를 외부에 올릴 수 없음

선택한 방법

내가 만들어보고 싶은거 대신 "최소한으로 작동하는 것"을 만들었다.

파이썬 스크립트 + HTML 검색 페이지

서버도, DB도, AI도 없이 공유 폴더 문서를 브라우저에서 검색할 수 있게 했다.

결과

아직 실제 업무에 적용해보지 않아서 사용 후기는 없다. 피드백을 받으면 이 글을 업데이트할 예정이다.

완벽하지 않아도 실용적이길 바란다.

728x90
반응형