Analyzer をフィールド名にマップするのと同様に、Analyzer をクエリ タイプ (フレーズ、範囲) にマップする方法はありますか?
フレーズ検索の場合は完全一致をサポートし、フレーズ検索でない場合は語幹のある単語でも検索したいと考えています。インデックス作成中、元のトークンとステム付きトークンの両方を同じ位置にインデックス付けしています。
次のケースを検討してください。
document1 : feature flipping
document2 : feature flip
インデックス作成フェーズで生成されるトークン:
document1 : feature featur flipping flip
document2 : feature featur flip
機能と機能は同じ位置にあり、反転と反転は同じ位置にあります
フレーズクエリ「機能フリッピング」を使用して検索すると、生成されたクエリは
Your Query: +matchAllDocs:true +(alltext:("feature flipping"))
Lucene's: +matchAllDocs:true +alltext:"(feature featur) (flipping flip)"
そして、これは両方のドキュメントを返します。完全一致のみを返す方法はありますか (ドキュメント 1)? アナライザーをクエリ タイプにマッピングできる場合は、stemFilter からフレーズ クエリをスキップすると考えました。
アップデート
https://issues.apache.org/jira/browse/LUCENE-2892は私が探しているものです。
ありがとう