0

以下を使用して lucene クエリを実行しています。

var searchCriteria = searcher.CreateSearchCriteria(BooleanOperation.Or);

var query = searchCriteria.GroupedOr(new string[] { "title", "Name" }, searchTerm).Compile();

searchTerm = "ベンダー向けサービス カード" の場合

生成されたクエリ = (title:"services ? card vendors" Name:"services ? card vendors")

「For」が「?」に置き換えられているのはなぜですか。

4

1 に答える 1

0

「for」は、LuceneのStandardAnalyzerのストップ ワードです ( StopFilterを参照)。それは十分に一般的であると見なされている単語であり、検索にはほとんど役に立ちません。主にいくつかの接続詞、代名詞、前置詞だと思います。そのため、索引付けされた用語と検索クエリの両方から除外されます。

これにより、「for」「the」「it」などの単語が大量の無意味な一致でスコアリングに大混乱をもたらすのを防ぐことができます。

于 2013-01-30T17:38:17.297 に答える