01: package org.apache.lucene.search.highlight;
02:
03: /**
04: * Copyright 2002-2004 The Apache Software Foundation
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License");
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */
18:
19: import org.apache.lucene.analysis.Token;
20:
21: /**
22: * Adds to the score for a fragment based on its tokens
23: *
24: * @author mark@searcharea.co.uk
25: */
26: public interface Scorer {
27: /**
28: * called when a new fragment is started for consideration
29: *
30: * @param newFragment
31: */
32: public void startFragment(TextFragment newFragment);
33:
34: /**
35: * Called for each token in the current fragment
36: *
37: * @param token
38: * The token to be scored
39: * @return a score which is passed to the Highlighter class to influence the
40: * mark-up of the text (this return value is NOT used to score the
41: * fragment)
42: */
43: public float getTokenScore(Token token);
44:
45: /**
46: * Called when the highlighter has no more tokens for the current fragment -
47: * the scorer returns the weighting it has derived for the most recent
48: * fragment, typically based on the tokens passed to getTokenScore().
49: */
50: public float getFragmentScore();
51:
52: }
|