2

スペースのないテキストを含む大きなテキスト ファイルのインデックス作成に取り組んでいます。現在、長さ12の文字列を生成するngramメソッドがあり、それらにインデックスを付けています。検索するのと同じ方法で、ユーザーから文字列を取得し、12 個の ngram を生成し、それを使用してクエリを作成します。検索では、lucene に存在する ngram トークナイザーについてお読みください。しかし、多くの例を見つけることができませんでした。

lucene 4.0 で ngram トークナイザーを実装するには??

4

1 に答える 1

7

おそらく最も簡単な使用方法NGramTokenizerは、このコンストラクターを使用して、リーダーと最小および最大のグラムサイズを取得することです。アナライザーのドキュメントの例のように、アナライザーに組み込むことができます。何かのようなもの:

Analyzer analyzer = new Analyzer() {
 @Override
  protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
    Tokenizer source = new NGramTokenizer(reader, 12, 12);
    TokenStream filter = new LowercaseFilter(source);
    return new TokenStreamComponents(source, filter);
  }
};
于 2013-07-01T15:28:52.347 に答える