Starter · Client-side Korean search
같은 질의를 네 가지 검색 엔진에 동시에 넣고 몇 건을 찾는지 비교한다. 한글은 조사가 어근에 붙어 한 덩어리가 되므로 — 기준금리를 안에 금리가 있다 — 공백 기준 토크나이저는 이것을 놓친다.
검색어를 입력하세요.
영어는 공백이 단어 경계라 공백으로 자르면 된다. 한글은 조사·어미가 어근에 붙어 한 토큰이 되므로, 같은 방식으로는 기준금리를이 통째로 하나의 단어가 되고 금리로는 절대 걸리지 않는다.
| Fuse.js | 토큰화를 아예 안 함 (근사 문자열 매칭) → 조사와 무관하게 동작 |
FlexSearch full | 모든 부분문자열을 색인 → 동작하지만 색인이 약 12배 |
| MiniSearch | 공백 토크나이저 → 합성어 안의 어근을 놓침 |
| Lunr | 기본 트리머 정규식 [^\w]가 한글을 구두점으로 보고 전부 지움 |
수천 건 규모의 한국어 산문이라면 Fuse.js가 설정 없이 맞는 결과를 낸다. 더 큰 규모로 가야 하고 색인 크기를 감당할 수 있으면 FlexSearch를 tokenize:"full"로 쓴다.
| Fuse.js | 색인 없음 · 질의마다 원문 재탐색 · 수천~1만 건이 실용 한계 |
| FlexSearch full | 5천 건 503KB 원문 → 색인 약 6MB |
| Lunr · Orama | 한국어에는 커스텀 토크나이저 없이는 쓸 수 없다 |
| 라이선스 | Fuse.js Apache-2.0 · FlexSearch Apache-2.0 · MiniSearch MIT · Lunr MIT |