Repolode
MihaiValentin

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. 1

    Установите пакет из npm

    npm install lunr-languages
  2. 2

    Загрузите Lunr и модуль немецкого языка в Node.js

    const lunr = require('lunr'); require('lunr-languages/lunr.stemmer.support')(lunr); require('lunr-languages/lunr.de')(lunr);
  3. 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 обновляется ежедневно.

Похожие проекты

Пакет Laravel для локализации URL: маршруты с префиксом локали, определение языка браузера, переводимые сегменты маршрутов и вспомогательные функции для переключателя языков.

3,6 тыс.+2 за неделю505PHPMITОбновлён 2 месяца назад

Библиотека для сегментации текста и NLP на Go: поддерживает английский, китайский, японский и другие языки и реализует подход jieba.

ИИ и машинное обучение#nlp#text-segmentation#chinese-segmentation
2,8 тыс.233GoApache-2.0Обновлён позавчера

Библиотека интернационализации для Next.js: синтаксис сообщений ICU, форматирование дат и чисел с учетом локали и типобезопасные хуки переводов.

4,4 тыс.+5 за неделю396TypeScriptMITАктивно поддерживаетсяОбновлён 9 часов назад

Веб-платформа с открытым исходным кодом для управления переводами приложений: редактирование в контексте, SDK и машинный перевод.

4,2 тыс.+9 за неделю380TypeScriptOtherАктивно поддерживаетсяОбновлён 6 часов назад