소개
kfind는 한국어 표제어와 활용형을 파일과 메모리 문자열에서 찾는 검색 엔진입니다. SeokminHong이 개발한 이 도구는 검색 질의를 한 번 형태 분석해 후보 프로그램을 컴파일하고, corpus에서 고정 byte 문자열을 먼저 찾은 뒤 후보 주변만 검증합니다. 파일과 소스 코드에서 한국어 표제어의 활용형을 모으고, 원문 위치와 생성 근거를 확인하는 데 사용됩니다. MIT 라이선스로 배포되며, 네이티브 CLI와 npm 경량 CLI 두 가지 설치 방식을 지원합니다.
상세정보
한국어 활용형 검색
걷다를 검색하면 길을 걸어뿐 아니라 전화를 걸어도 후보가 됩니다. 동사·형용사의 어미, 선어말어미와 불규칙 활용을 지원합니다.
순서형 구 검색
‘n:권한 v:검증하다’와 같은 순서형 구를 검색할 수 있으며, –max-gap 옵션으로 앞 token 끝과 다음 token 시작 사이에 허용할 Unicode scalar 수를 조정할 수 있습니다.
경계 정책 선택
smart, token, any 세 가지 경계 정책을 제공합니다. smart는 사람의 기본 검색에 적합하고, any는 재현율 중심 자동화에 사용됩니다.
JSON Lines 출력
–json 옵션으로 기계 판독용 출력을 지원하며, 줄·이벤트 단위 또는 개별 일치 단위로 결과를 받을 수 있습니다.
다운로드·설치 방법
네이티브 CLI는 Rust 1.97 이상에서 cargo install –locked –path crates/kfind-cli로 설치할 수 있습니다. macOS와 Linux에서는 Homebrew로 brew install seokminhong/brew/kfind를 실행한 후 kfind –check-data로 데이터를 검증할 수 있습니다. JavaScript와 TypeScript에서는 npm install @kfind/[email protected]으로 WebAssembly 패키지를 설치하고, npx @kfind/kfind 걷다 README.md와 같이 실행할 수 있습니다.
기본 사용법/명령어
자동 품사와 smart 경계로 kfind 걷다 src docs와 같이 실행할 수 있습니다. 명시적 품사는 kfind –pos noun 사용자 src와 같이 지정합니다. 여러 단어 중 하나 검색은 kfind ‘걷다 | 사용자 | 검증하다’ src와 같이 따옴표로 묶어 실행합니다. literal 검색은 kfind –literal ‘걸어’ data.txt와 같이 사용합니다. 기계 판독용 출력은 kfind –embedded –boundary any –pos verb –json 걷다 src docs와 같이 실행합니다.
이런 경우에 유용합니다
코드베이스에서 특정 동사의 모든 활용형을 찾아야 하는 개발자에게 유용합니다. 예를 들어 ‘걷다’를 검색하여 ‘걸었다’, ‘걷고’, ‘걸어’ 등의 모든 형태를 파일과 소스 코드에서 찾을 수 있습니다. 문서에서 한국어 표제어의 변형된 형태를 추출해야 하는 경우에도 활용할 수 있습니다.
지원 환경·시스템 요구사항
네이티브 CLI는 Rust 1.97 이상이 필요합니다. npm 경량 CLI는 Node.js 환경에서 실행되며, UTF-8 파일을 처리합니다. 파일 탐색 시 ignore 규칙, glob, 파일 유형을 지원하며, stdin과 명시적 입력 인코딩을 처리할 수 있습니다.
최신 버전·업데이트
현재 버전은 1.1.0이며, 공식 웹사이트와 GitHub 저장소에서 최신 정보를 확인할 수 있습니다.
제한 사항·확인 사항
일반 목적 문장 형태소 분석, 의미 검색, 동의어·바꿔쓰기 확장, 의미 기반 동형이의어 판별은 제품 범위가 아닙니다. v:검증하다는 ‘검증을 수행했다’를 찾지 않으므로 필요한 경우 n:검증을 별도로 검색해야 합니다. 구조 context의 window·graph·좌표 판정에 실패한 후보가 있으면 structural_verification_incomplete 진단이 stderr에 표시되고 종료 코드 2를 반환합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


