2016-11-21 7 views
0

私はLuceneを初めて使い、アナライザを動作させる方法を見つけようとしています。Apache Lucene Multiple Tokenizers

検索文字列を空白トークナイザで最初に分割し、keywordrepeatfilterを実行し、非キーワードを標準アナライザで分割したいとします。

Ex。 "これはテキストです" - "これは" "これは" "ある" "テキスト"

WhitespaceAnalyzerは私が望んでいたものではないので、これを試し始めました。私はこれを行う方法がありますか、私は別の何かを試すべきですか?

+0

お客様のアナライザーを作成することができます。ドキュメントを見て、それは広範囲です。 – DejaVuSansMono

答えて

0

アナライザ用に1つのTokenizerしか定義できません。 Tokenizerの後に、TokenFilterを使用してTokenStreamをさらに変更します。 WordDelimiterFilterはあなたが探しているものかもしれません。

0

WordDelimiterFilterを使用して、目的を達成することができます。

これはサブワードに単語を分割し、サブワード基上の任意の変換を実行WordDelimiterFilter Luceneのドキュメント

からです。単語は以下のルールでサブワードに分割されます。 - 単語区切り文字で区切られます(デフォルトでは非英数字です)。

WordDelimiterFilterは、トークン

これを次のように "いくつかのテキストこれは、ある" スプリットwilll PRESERVE_ORIGINAL性質を持っている、テキスト

は続きを読む、これは、ありますここをクリックしてください:https://lucene.apache.org/core/4_4_0/analyzers-common/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.html

関連する問題