Lindera Analysis

Lindera Analysisは、lindera-segmenterクレートが提供する形態素セグメンター(Segmenter)の上に、Lucene流のテキスト解析チェーンを重ねるクレートです。通常はlinderaファサード経由でlindera::analysisとして使います(デフォルトで有効なanalysis feature)。文字フィルタ、Segmenter、トークンフィルタを1つのTokenizerパイプラインとして組み合わせ、Rustコードから組み立てることも、YAML設定ファイルだけで組み立てることもできます。

主な特徴

  • 文字フィルタ: セグメンテーション前に入力テキストを変換し、バイトオフセットは元のテキストに対して自動的に補正される
  • トークンフィルタ: Segmenterが生成したトークンの変換・結合・除去・並べ替えを行う
  • Tokenizer / TokenizerBuilder: Rustコード、またはYAMLファイル(LINDERA_CONFIG_PATH)から解析パイプライン全体を組み立てる
  • 日本語・韓国語・汎用のテキスト正規化をカバーする豊富な組み込みフィルタ

依存関係

ファサード経由(推奨):

[dependencies]
lindera = "7"
#![allow(unused)]
fn main() {
use lindera::analysis::tokenizer::Tokenizer;
}

直接依存にする場合。同じクレートなので、どちらのパスも同じ型を指します。linderaとlindera-analysisのメジャーバージョンは揃えてください(v6 から v7 への移行を参照):

[dependencies]
lindera = "7"
lindera-analysis = "7"
#![allow(unused)]
fn main() {
use lindera_analysis::tokenizer::Tokenizer;
}

目次