Lucene Query Boosting



我正在从类似的文件中读取2个查询

Query q1 = new QueryParser(Version.LUCENE_CURRENT, "id", analyzer).parse(dis.readLine());
Query q2 = new QueryParser(Version.LUCENE_CURRENT, "id", analyzer).parse(dis.readLine());

我希望将这些查询组合为一个查询,并对查询2(即q2(进行一些提升(比如5(。

谢谢,
Ravi

我认为这应该有效:

q2.setBoost(5);
BooleanQuery q3 = new BooleanQuery();
q3.add(q1, BooleanClause.Occur.SHOULD);
q3.add(q2, BooleanClause.Occur.SHOULD);

您使用BooleanQuery q3进行搜索。

我不确定您是否可以增强查询。我知道你可以在创建索引时提升字段,例如

Field field = new Field("id", id, ......);
field.setBoost(0.5);

就合并这两个查询而言:

String term = dis.readLine() + " AND " + dis.readLine();

或者类似的东西。。。。。

最新更新