我正在从类似的文件中读取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();
或者类似的东西。。。。。