DisjunctionMaxQuery

这结合了查询,使得其子查询的最佳(即得分最高)匹配有助于最终得分。

List<Query> disjuncts = new ArrayList<Query>();
disjuncts.add(new TermQuery(new Term("fieldname", "hello")));
disjuncts.add(new TermQuery(new Term("fieldname", "world")));
Query query = new DisjunctionMaxQuery(disjuncts, 0.0f);

DisjunctionMaxQuery 构造函数的第二个参数是一个决胜局值,当非零时,允许非最大匹配对得分做出一些小贡献,以便打破关系。它通常应该很小(大约 0.1)。