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: * @author mark@searcharea.co.uk
24: */
25: public interface Scorer {
26: /**
27: * called when a new fragment is started for consideration
28: * @param newFragment
29: */
30: public void startFragment(TextFragment newFragment);
31:
32: /**
33: * Called for each token in the current fragment
34: * @param token The token to be scored
35: * @return a score which is passed to the Highlighter class to influence the mark-up of the text
36: * (this return value is NOT used to score the fragment)
37: */
38: public float getTokenScore(Token token);
39:
40: /**
41: * Called when the highlighter has no more tokens for the current fragment - the scorer returns
42: * the weighting it has derived for the most recent fragment, typically based on the tokens
43: * passed to getTokenScore().
44: *
45: */
46: public float getFragmentScore();
47:
48: }
|