Пакет Laravel для локализации URL: маршруты с префиксом локали, определение языка браузера, переводимые сегменты маршрутов и вспомогательные функции для переключателя языков.
MihaiValentin/lunr-languages
Стеммеры и списки стоп-слов для Lunr.js добавляют полнотекстовый поиск на десятках языков в браузере и Node.js.
- Звёзды
- 459
- Форки
- 168
- Открытые issues
- 16
- Последний коммит
- 13 часов назад
Что это?
Lunr Languages — расширение для Lunr.js, клиентской библиотеки полнотекстового поиска. Оно добавляет токенизацию, стемминг и фильтрацию стоп-слов с учётом конкретного языка, чтобы индексы Lunr корректно сопоставляли словоформы на множестве языков, включая немецкий, французский, испанский, русский, японский, арабский и хинди.
Каждый язык поставляется отдельным модулем, который регистрируется в Lunr; режим нескольких языков позволяет объединить их в одном индексе. Для токенизации китайского по умолчанию используется Intl.Segmenter с биграммами CJK; в Node.js можно переключиться на @node-rs/jieba для сегментации Jieba. В комплект входят объявления типов, а модули можно импортировать с помощью синтаксиса CommonJS или ES modules.
Библиотека работает целиком в браузере или Node.js, поэтому подходит для поиска на статических сайтах и в документации, офлайн-приложений, а также для предварительной фильтрации по ключевым словам перед векторным поиском или реранжированием в конвейерах извлечения данных.
Ключевые возможности
- 01Токенизация, стемминг и списки стоп-слов с учётом языка для многих языков
- 02Режим нескольких языков для индексации контента на разных языках в одном индексе
- 03Сегментация китайского текста с помощью Intl.Segmenter и дополнительная поддержка Jieba в Node.js
- 04Дополнительная функция конвейера для удаления диакритических знаков в испанских индексах
- 05Объявления типов TypeScript и возможность импорта через CommonJS и ES modules
Сценарии использования
- Добавление клиентского поиска на многоязычный статический сайт или сайт с документацией
- Создание офлайн-поиска или поиска по базе знаний непосредственно на устройстве в браузере
- Предварительная фильтрация документов по ключевым словам перед созданием эмбеддингов или реранжированием в конвейере RAG
Быстрый старт
- 1
Установите пакет из npm
npm install lunr-languages - 2
Загрузите Lunr и модуль немецкого языка в Node.js
const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); - 3
Создайте индекс с немецким конвейером обработки и добавьте документы
Что важно знать
- Без дополнительного пакета для токенизации китайского используются биграммы, которые менее точны, чем Jieba.
- Для поддержки китайского языка в браузерах требуется Intl.Segmenter; запасного варианта нет.
В подборках
Темы
Частые вопросы
- Что такое lunr-languages?
- Стеммеры и списки стоп-слов для Lunr.js добавляют полнотекстовый поиск на десятках языков в браузере и Node.js. Lunr Languages — расширение для Lunr.js, клиентской библиотеки полнотекстового поиска. Оно добавляет токенизацию, стемминг и фильтрацию стоп-слов с учётом конкретного языка, чтобы индексы Lunr корректно сопоставляли словоформы на множестве языков, включая немецкий, французский, испанский, русский, японский, арабский и хинди.
- lunr-languages можно использовать бесплатно? Какая у него лицензия?
- lunr-languages распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lunr-languages всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lunr-languages — 6 нояб. 2026 г..
- Для чего можно использовать lunr-languages?
- Добавление клиентского поиска на многоязычный статический сайт или сайт с документацией Создание офлайн-поиска или поиска по базе знаний непосредственно на устройстве в браузере Предварительная фильтрация документов по ключевым словам перед созданием эмбеддингов или реранжированием в конвейере RAG
- Как установить lunr-languages?
- Установите пакет из npm: npm install lunr-languages Загрузите Lunr и модуль немецкого языка в Node.js: const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr); Создайте индекс с немецким конвейером обработки и добавьте документы
- Где скачать lunr-languages?
- Исходный код и инструкции по установке — на GitHub: https://github.com/MihaiValentin/lunr-languages
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека для сегментации текста и NLP на Go: поддерживает английский, китайский, японский и другие языки и реализует подход jieba.
Веб-платформа для самостоятельного хостинга и управления переводами ПО и контента с интеграцией с системами контроля версий.
Библиотека интернационализации для Next.js: синтаксис сообщений ICU, форматирование дат и чисел с учетом локали и типобезопасные хуки переводов.
Веб-платформа с открытым исходным кодом для управления переводами приложений: редактирование в контексте, SDK и машинный перевод.
Open-source платформа для управления переводами с самостоятельным хостингом, импортом и экспортом распространённых форматов локализации и REST API.