DelegatingScoringQueryExecutor.java
- /*
- * DelegatingScoringQueryExecutor.java
- *
- * Copyright (c) 2007-2011, The University of Sheffield.
- *
- * This file is part of GATE MÃmir (see http://gate.ac.uk/family/mimir.html),
- * and is free software, licenced under the GNU Lesser General Public License,
- * Version 3, June 2007 (also included with this distribution as file
- * LICENCE-LGPL3.html).
- *
- * Valentin Tablan, 14 September 2011
- *
- * $Id: DelegatingScoringQueryExecutor.java 16667 2013-04-29 16:35:35Z valyt $
- */
- package gate.mimir.search.score;
- import gate.mimir.search.query.Binding;
- import gate.mimir.search.query.QueryExecutor;
- import it.unimi.dsi.fastutil.objects.Reference2DoubleMap;
- import it.unimi.di.big.mg4j.index.Index;
- import it.unimi.di.big.mg4j.search.DocumentIterator;
- import it.unimi.di.big.mg4j.search.score.DelegatingScorer;
- import java.io.IOException;
- /**
- * Implementation of {@link MimirScorer} that delegates the scoring work to an
- * MG4J {@link DelegatingScorer}.
- */
- public class DelegatingScoringQueryExecutor implements MimirScorer {
-
- public DelegatingScoringQueryExecutor(DelegatingScorer scorer)
- throws IOException {
- this.underlyingScorer = scorer;
- }
-
- public long nextDocument(long greaterThan) throws IOException {
- return underlyingExecutor.nextDocument(greaterThan);
- }
-
-
- /* (non-Javadoc)
- * @see gate.mimir.search.query.MimirScorer#nextHit()
- */
- @Override
- public Binding nextHit() throws IOException {
- return underlyingExecutor.nextHit();
- }
-
- public double score() throws IOException {
- return underlyingScorer.score();
- }
- private DelegatingScorer underlyingScorer;
-
- private QueryExecutor underlyingExecutor;
- public double score(Index index) throws IOException {
- return underlyingScorer.score(index);
- }
- public boolean setWeights(Reference2DoubleMap<Index> index2Weight) {
- return underlyingScorer.setWeights(index2Weight);
- }
- public Reference2DoubleMap<Index> getWeights() {
- return underlyingScorer.getWeights();
- }
- public long nextDocument() throws IOException {
- return underlyingScorer.nextDocument();
- }
- public DelegatingScorer copy() {
- try {
- return new DelegatingScoringQueryExecutor(
- (DelegatingScorer)underlyingScorer.copy());
- } catch(IOException e) {
- throw new RuntimeException(e);
- }
- }
- public void wrap(DocumentIterator queryExecutor) throws IOException {
- underlyingExecutor = (QueryExecutor)queryExecutor;
- underlyingScorer.wrap(queryExecutor);
- }
- public boolean usesIntervals() {
- return underlyingScorer.usesIntervals();
- }
- }