2011-06-17 8 views
2

私はLucene 3.2と協力しています。用語をフィルタリング/変更するだけでなく、他の用語をストリームに挿入できるTokenFilterを使用するにはどうすればよいですか?LuceneではTokenFilterはどのように複数の用語を出力できますか?

たとえば、入力として「tv42lcd」を取り、ストリームに「tv42lcd」、「tv」、「42」、「lcd」という単語を挿入するフィルタが必要です。

私は自分のTokenizerを実装することでこれを行うことができることを知っています。しかし、私はまだ提供されているStandardTokenizerを使用しています。

+0

トークナイザはどのように用語を分割するかを知っていますか?例えばなぜ "tv42lcd"、 "tv"、 "42"、 "lc"、 "d"、 "tv4"、 "2l"、 "cd"ではないのですか? –

+0

これは単なる例です。しかし、私のアプリケーションでは、数値文字に基づいて分割しました。 –

答えて

1

いつでもデフォルトとカスタムを混在させることができます。可能であればStandardTokenizerロジックを使用し、その出力をラップして上部にカスタムトークンを追加します。これを拡張することで実現できますが、それはalmost always better to use compositionです。

関連する問題