Initial commit
[moodle.git] / search / Zend / Search / Lucene / Search / Weight.php
1 <?php
2 /**
3  * Zend Framework
4  *
5  * LICENSE
6  *
7  * This source file is subject to the new BSD license that is bundled
8  * with this package in the file LICENSE.txt.
9  * It is also available through the world-wide-web at this URL:
10  * http://framework.zend.com/license/new-bsd
11  * If you did not receive a copy of the license and are unable to
12  * obtain it through the world-wide-web, please send an email
13  * to license@zend.com so we can send you a copy immediately.
14  *
15  * @category   Zend
16  * @package    Zend_Search_Lucene
17  * @subpackage Search
18  * @copyright  Copyright (c) 2006 Zend Technologies USA Inc. (http://www.zend.com)
19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
20  */
23 /**
24  * Calculate query weights and build query scorers.
25  *
26  * A Weight is constructed by a query Query->createWeight().
27  * The sumOfSquaredWeights() method is then called on the top-level
28  * query to compute the query normalization factor Similarity->queryNorm(float).
29  * This factor is then passed to normalize(float).  At this point the weighting
30  * is complete.
31  *
32  * @category   Zend
33  * @package    Zend_Search_Lucene
34  * @subpackage Search
35  * @copyright  Copyright (c) 2006 Zend Technologies USA Inc. (http://www.zend.com)
36  * @license    http://framework.zend.com/license/new-bsd     New BSD License
37  */
38 abstract class Zend_Search_Lucene_Search_Weight
39 {
40     /**
41      * The weight for this query.
42      *
43      * @return float
44      */
45     abstract public function getValue();
47     /**
48      * The sum of squared weights of contained query clauses.
49      *
50      * @return float
51      */
52     abstract public function sumOfSquaredWeights();
54     /**
55      * Assigns the query normalization factor to this.
56      *
57      * @param $norm
58      */
59     abstract public function normalize($norm);
60 }