public Query rewrite(IndexReader reader) throws IOException { FilteredTermEnum enumerator = getEnum(reader); BooleanQuery query = new BooleanQuery(); try { do { Term t = enumerator.term(); if (t != null) { TermQuery tq = new TermQuery(t); // found a match tq.setBoost(getBoost() * enumerator.difference()); // set the boost query.add(tq, false, false); // add to query } } while (enumerator.next()); } finally { enumerator.close(); } return query; }
public Query rewrite(IndexReader reader) throws IOException { FilteredTermEnum enumerator = getEnum(reader); BooleanQuery query = new BooleanQuery(true); try { do { Term t = enumerator.term(); if (t != null) { TermQuery tq = new TermQuery(t); // found a match tq.setBoost(getBoost() * enumerator.difference()); // set the boost query.add(tq, BooleanClause.Occur.SHOULD); // add to query } } while (enumerator.next()); } finally { enumerator.close(); } return query; }
public Query rewrite(IndexReader reader) throws IOException { FilteredTermEnum enumerator = getEnum(reader); BooleanQuery query = new BooleanQuery(true); try { do { Term t = enumerator.term(); if (t != null) { TermQuery tq = new TermQuery(t); // found a match tq.setBoost(getBoost() * enumerator.difference()); // set the boost query.add(tq, BooleanClause.Occur.SHOULD); // add to query } } while (enumerator.next()); } finally { enumerator.close(); } return query; }