0

テキストで検索する列に lucene(3.0.1) インデックスを作成しました。このテキストでのテストでは:

$GLD is a great example of why it does not make sense EVER to try and catch a falling knife.

キーワードで検索すると結果が得られます"falling"が、検索しても何も得られません"$GLD"

私は standardAnalyzer を使用しています:

String longString = "$GLD is a great example of why it does not make sense EVER to try and catch a falling knife."

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
doc.add(new Field("data", longString, Store.YES, Field.Index.ANALYZED));

が設定されているためField.Index.ANALYZED、トークンを作成し、$GLD存在する必要があります。アナライザーは、テキストからストップ ワードを削除します。つまり、単語$GLDもその過程で削除されます。

4

3 に答える 3

0

を確認する必要がありますStandardAnalyzerStandardAnalyzerは削除され、その手順で$使用LowerCaseFilterされる場合があります (わかりません。2.3 と 4.1 を知っているだけです)。はLowerCaseFilter単語を小文字にします。大文字で検索しても何もヒットしません。

Luke を使用して、トークン化された結果をインデックスで確認できます。

于 2013-08-15T05:35:46.803 に答える
0

また、 Lukeを使用して、クエリが想定どおりに動作することを確認することも役立ちます。

于 2013-08-16T18:49:39.503 に答える