私は常に、接頭辞のみに一致するものよりも正確な一致に高いスコアを与えたいと考えています (たとえば、「ボール」は、「弾道」よりも「ボール*」と一致する場合に高いスコアを与える必要があります)。
PrefixQuery
私の現在の(冗長な)アプローチは、を作成するときに常に1行ではなく2行を実行することです。
q.add(new PrefixQuery(new Term("field", t)), Occur.SHOULD);
q.add(new TermQuery(new Term("field", t)), Occur.SHOULD);
これを行わなくても同じスコアを達成する方法はありますか?