Example usage for org.apache.lucene.search DisjunctionMaxQuery getTieBreakerMultiplier

List of usage examples for org.apache.lucene.search DisjunctionMaxQuery getTieBreakerMultiplier

Introduction

In this page you can find the example usage for org.apache.lucene.search DisjunctionMaxQuery getTieBreakerMultiplier.

Prototype

public float getTieBreakerMultiplier() 

Source Link

Usage

From source file:org.elasticsearch.action.debugquery.QueryToMapTransformer.java

License:Apache License

@Override
public Map visit(DisjunctionMaxQuery query) throws Exception {
    final Map map = newQuery(query);
    map.put("tieBreaker", query.getTieBreakerMultiplier());
    final ArrayList children = new ArrayList(query.getDisjuncts().size());
    map.put("disjuncts", children);
    for (final Query childQuery : query.getDisjuncts()) {
        final Object childObj = QueryAcceptor.accept(childQuery, this);
        children.add(childObj);/* w ww  .  j  a va 2s. c om*/
    }
    return map;
}

From source file:org.elasticsearch.index.query.DisMaxQueryBuilderTests.java

License:Apache License

@Override
protected void doAssertLuceneQuery(DisMaxQueryBuilder queryBuilder, Query query, QueryShardContext context)
        throws IOException {
    Collection<Query> queries = AbstractQueryBuilder.toQueries(queryBuilder.innerQueries(), context);
    assertThat(query, instanceOf(DisjunctionMaxQuery.class));
    DisjunctionMaxQuery disjunctionMaxQuery = (DisjunctionMaxQuery) query;
    assertThat(disjunctionMaxQuery.getTieBreakerMultiplier(), equalTo(queryBuilder.tieBreaker()));
    assertThat(disjunctionMaxQuery.getDisjuncts().size(), equalTo(queries.size()));
    Iterator<Query> queryIterator = queries.iterator();
    for (int i = 0; i < disjunctionMaxQuery.getDisjuncts().size(); i++) {
        assertThat(disjunctionMaxQuery.getDisjuncts().get(i), equalTo(queryIterator.next()));
    }//from   w w  w .  jav  a 2 s.  c om
}

From source file:uk.co.flax.luwak.util.SpanRewriter.java

License:Apache License

protected Query rewriteDisjunctionMaxQuery(DisjunctionMaxQuery disjunctionMaxQuery) {
    ArrayList<Query> subQueries = new ArrayList<>();
    for (Query subQuery : disjunctionMaxQuery) {
        subQueries.add(rewrite(subQuery));
    }//from  ww w . j a  v a2s. co  m
    return new DisjunctionMaxQuery(subQueries, disjunctionMaxQuery.getTieBreakerMultiplier());
}