RepositoryJavaScriptRORomania
MihaiValentin

MihaiValentin/lunr-languages

A collection of languages stemmers and stopwords for Lunr Javascript library

458stars
169forks
10issues
0views

🌍 Bộ công cụ ngôn ngữ cho tìm kiếm đa ngữ trong trình duyệt và Node.js

30+ ngôn ngữ, zero dependency, chạy ngay trong browser — không cần vector DB.

Lunr Languages là gói mở rộng cho Lunr.js, cung cấp stemmer và stopwords cho hơn 30 ngôn ngữ — từ các ngôn ngữ có dấu phụ (German, French, Spanish) đến tiếng Nhật, Trung, Ả Rập, Hindi, Việt. Dự án được 18k+ dự án sử dụng và đạt ~300k tải mỗi tuần, ban đầu xây dựng cho tìm kiếm văn bản truyền thống nhưng hiện nay đóng vai trò là tầng retrieval nhẹ trong các hệ thống AI.

✨ Điểm nổi bật

  • 30+ ngôn ngữ: Stemmer và stopwords cho hầu hết ngôn ngữ châu Âu, Đông Á, Nam Á và Trung Đông.
  • Chạy hoàn toàn client-side: Không cần server, không cần vector DB — hoạt động trong browser và Node.js.
  • Hỗ trợ hybrid search: Lọc top 100–500 tài liệu bằng keyword trước khi embeddings/reranker, cải thiện recall cho nội dung phi-Anh và ngôn ngữ biến đổi hình thái.
  • Tiếng Trung thông minh: Sử dụng Intl.Segmenter với CJK bigrams theo mặc định; tự động dùng @node-rs/jieba khi có trong Node.js để phân đoạn chất lượng cao hơn.
  • Tiếng Tây Ban Nha có accent folding: Tùy chọn lunr.es.accentFold để truy vấn không dấu khớp với tài liệu có dấu, không thay thế stemmer mặc định.
  • TypeScript-ready: Có declaration file cho các module đăng ký và thuộc tính Lunr được cài đặt.
  • CommonJS và ESM: Hỗ trợ cả hai module system, import subpath trực tiếp.
  • Privacy-first: Dữ liệu không rời khỏi thiết bị — phù hợp cho assistant trên browser, knowledge base local, on-device search.

💡 Vì sao đáng chú ý

Trong hệ thống AI hiện đại, LLM không thay thế search — mà phụ thuộc vào nó. Lunr Languages giải quyết bài toán retrieval trước khi gọi embedding hay reranker: lọc hàng nghìn tài liệu xuống tập ứng viên nhỏ, đặc biệt hiệu quả với nội dung đa ngữ và ngôn ngữ có biến đổi hình thái (inflected languages). Toàn bộ pipeline chạy không cần hạ tầng — một file npm, một vài dòng import, và hệ thống tìm kiếm đa ngữ đã hoạt động.

Dự án đặc biệt phù hợp cho RAG (Retrieval-Augmented Generation), static site search, documentation search, và ứng dụng local-first/edge AI nơi mà quyền riêng tư và khả năng offline là yêu cầu bắt buộc.


#JavaScript #Lunr #Stemmer #RAG #MultilingualSearch #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryJavaScript
olivernn/lunr.js

A bit like Solr, but much smaller and not as bright

9.2k
Jul 31, 2024
RepositoryJavaScript
github/relative-time-element

Web component extensions to the standard <time> element.

4.0k
Oct 23, 2026
RepositoryJavaScript
1186258278/OpenClawChineseTranslation

🦞 OpenClaw (Clawdbot/Moltbot) 汉化版 - 开源个人 AI 助手中文版 | Claude/ChatGPT LLM 接入 | WhatsApp/Telegram/Discord 多平台 | 每小时自动同步 | CLI + Dashboard 全中文 | 全流程搭建教程,以及排错指南!

3.8k
Oct 25, 2026
RepositoryJavaScript
hybridsjs/hybrids

Extraordinary JavaScript UI framework with unique declarative and functional architecture

3.2k
Oct 5, 2026
RepositoryJavaScript
aralroca/next-translate

Next.js plugin + i18n API for Next.js 🌍 - Load page translations and use them in an easy way!

2.7k
Oct 17, 2026
RepositoryJavaScript
ever-co/ever-traduora

Ever® Traduora™ - Open Translation Management Platform - https://traduora.co

2.1k
Oct 26, 2026
RepositoryJavaScript
stopwords-iso/stopwords-iso

All languages stopwords collection

502
Jan 7, 2024
RepositoryJavaScript
dmarman/lorca

Natural Language Processing for Spanish in Node.js. Stemmer, sentiment analysis, readability, tf-idf with batteries, concordance and more!

112
Oct 21, 2018
RepositoryJavaScript
Hexagon/thinker-fts

Fast and extendible Node.js/Javascript fulltext search engine.

72
Nov 29, 2025