Repolode
MihaiValentin

MihaiValentin/lunr-languages

Lunr.jsに多言語のステマーとストップワードリストを追加し、ブラウザやNode.jsで数十言語の全文検索を実現します。

スター
459
フォーク
168
未解決の Issue
16
最終コミット
13 時間前

これは何?

Lunr Languagesは、クライアントサイドの全文検索ライブラリLunr.jsの拡張機能です。言語ごとのトークン化、ステミング、ストップワードの除去を追加し、Lunrで構築したインデックスが、ドイツ語、フランス語、スペイン語、ロシア語、日本語、アラビア語、ヒンディー語など、幅広い言語の語形を正しく検索できるようにします。

各言語はLunrに登録する独立したモジュールとして提供され、複数の言語を1つのインデックスで扱える多言語モードも用意されています。中国語のトークン化では、デフォルトでIntl.SegmenterとCJKのバイグラムを使用し、Node.jsでは@node-rs/jiebaに切り替えてJiebaによる分かち書きを行えます。型宣言が含まれており、CommonJSまたはES module構文でインポートできます。

ブラウザまたはNode.js上で完結して動作するため、静的サイトやドキュメントの検索、オフラインアプリ、検索パイプラインでのベクトル検索やリランカー実行前のキーワードによる絞り込みに適しています。

主な機能

  • 01多くの言語に対応した言語別のトークン化、ステミング、ストップワードリスト
  • 021つのインデックスで複数言語のコンテンツを扱える多言語モード
  • 03Intl.Segmenterによる中国語の分かち書きと、Node.jsでのJieba対応
  • 04スペイン語のインデックス向けに、任意で追加できるアクセント除去パイプライン関数
  • 05TypeScriptの型宣言と、CommonJSおよびES moduleのインポートに対応

ユースケース

  • 多言語の静的サイトやドキュメントサイトにクライアントサイド検索を追加する
  • ブラウザ上でオフラインまたはデバイス内のナレッジベース検索を構築する
  • RAGパイプラインで、埋め込み生成やリランキングの前にキーワードで文書を絞り込む

クイックスタート

  1. 1

    npm からパッケージをインストールする

    npm install lunr-languages
  2. 2

    Node.js で Lunr とドイツ語モジュールを読み込む

    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 の最終コミットは 2026年11月6日 です。
lunr-languages は何に使えますか?
多言語の静的サイトやドキュメントサイトにクライアントサイド検索を追加する ブラウザ上でオフラインまたはデバイス内のナレッジベース検索を構築する RAGパイプラインで、埋め込み生成やリランキングの前にキーワードで文書を絞り込む
lunr-languages のインストール方法は?
npm からパッケージをインストールする: npm install lunr-languages Node.js で Lunr とドイツ語モジュールを読み込む: 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

jieba方式をGoで実装した、英語・中国語・日本語などに対応するGo製のテキスト分割・NLPライブラリ。

AI・機械学習#nlp#text-segmentation#chinese-segmentation
2847233GoApache-2.0更新 一昨日