01: package it.unimi.dsi.mg4j.search.score;
02:
03: /*
04: * MG4J: Managing Gigabytes for Java
05: *
06: * Copyright (C) 2005-2007 Sebastiano Vigna
07: *
08: * This library is free software; you can redistribute it and/or modify it
09: * under the terms of the GNU Lesser General Public License as published by the Free
10: * Software Foundation; either version 2.1 of the License, or (at your option)
11: * any later version.
12: *
13: * This library is distributed in the hope that it will be useful, but
14: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
16: * for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: *
22: */
23:
24: import it.unimi.dsi.mg4j.index.Index;
25:
26: /** A scorer assigning a constant score (0 by default) to all documents. */
27: public class ConstantScorer extends AbstractScorer implements
28: DelegatingScorer {
29:
30: public final double score;
31:
32: public ConstantScorer(double score) {
33: this .score = score;
34: }
35:
36: public ConstantScorer(String score) {
37: this (Double.parseDouble(score));
38: }
39:
40: public ConstantScorer() {
41: this (0);
42: }
43:
44: public double score(final Index index) {
45: return score;
46: }
47:
48: public double score() {
49: return 0;
50: }
51:
52: public ConstantScorer copy() {
53: return this ;
54: }
55:
56: public boolean usesIntervals() {
57: return false;
58: }
59:
60: public String toString() {
61: return this .getClass().getName() + "(" + score + ")";
62: }
63: }
|