CLI · 예시
검색 예시
문자열 검색과 표제어 검색
grep과 ripgrep은 입력 문자열이 원문에 나타난 위치를 찾습니다. 걷다 한 번으로 걷고, 걸어, 걸었다를 모두 찾으려면 활용형을 직접 열거한 정규식이 필요합니다.
kfind는 질의의 표제어와 품사를 해석하고 허용된 조사·어미·불규칙 활용만 검색 계획으로 만듭니다. 입력 문자열 그대로 찾을 때는 --literal을, 표제어를 찾을 때는 기본 inflection mode를 사용합니다.
rg '걷다|걷고|걸어|걸었다' docs src
kfind --pos verb 걷다 docs src
동사 활용형 일괄 검색
파일에서 한국어 동사의 모든 지원 활용형을 찾을 때는 동사 품사와 표제어를 지정합니다. 걷다 검색은 활용형을 직접 나열하지 않습니다. 사전의 ㄷ 불규칙 정보와 어미 결합 규칙으로 걷고, 걸어, 걸었다를 생성합니다.
먼저 제한된 경로에서 결과와 provenance를 확인합니다. 필요하면 smart 경계와 full POS 리소스로 token 내부 후보를 다시 검증합니다.
kfind --pos verb --boundary smart 걷다 docs src
kfind --pos verb --boundary any --json 걷다 docs src
형태소 분석기와 형태 검색 엔진
형태소 분석기는 문장을 token과 표제어로 분석합니다. kfind는 찾을 표제어에서 제한된 표면형 후보를 만들고, 파일에서 anchor를 빠르게 찾은 뒤 후보 주변만 검증합니다.
Rust 구현은 말뭉치 전체를 형태소 분석하지 않습니다. 질의 컴파일, matcher와 국소 verifier를 분리하고, 품질과 비용을 같은 gold와 workload에서 각각 측정합니다.
코드 검색
함수명 주변의 한국어 주석과 문서를 탐색할 때는 넓은 any로 후보를 모은 뒤 smart로 다시 검증합니다. 정확한 identifier에는 literal mode를 사용합니다.
kfind --pos verb --boundary any 변경하다 src
kfind --pos verb --boundary smart 변경하다 src
kfind --literal parse_query crates
문서 감사
표제어와 활용형이 섞인 문서에서는 기본 inflection을 사용합니다. 특정 용어의 표기만 검사할 때는 각 literal 질의를 따로 실행합니다.
kfind --pos noun 계약 docs README.md
kfind --literal contract-adjust docs site/src
에이전트 입력
에이전트에는 제한된 경로의 JSON Lines 결과를 전달합니다. jq에서 원문 표면형을 제거하거나 provenance를 축약하지 않습니다.
kfind --pos verb --boundary any --json 검증하다 crates/kfind-query | jq -c '{path, line, column, surface, atoms}'