我正在从文件中读取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)。
谢谢,
拉维
答案 0 :(得分:1)
我相信这应该有效:
q2.setBoost(5);
BooleanQuery q3 = new BooleanQuery();
q3.add(q1, BooleanClause.Occur.SHOULD);
q3.add(q2, BooleanClause.Occur.SHOULD);
您使用BooleanQuery
q3
进行搜索。
答案 1 :(得分:0)
我不确定您是否可以提升查询。我知道你可以在创建索引时增加一个字段,例如
Field field = new Field("id", id, ......);
field.setBoost(0.5);
至于组合这两个查询:
String term = dis.readLine() + " AND " + dis.readLine();
或者那种效果......