Commit 1263444b1909b4aeec3fba60285a7c3455a9eede
1 parent
ce58047a
Added additional comments to search code
Committed by: Paul Barrett
Showing
9 changed files
with
32 additions
and
40 deletions
search2.php
| @@ -776,7 +776,6 @@ class SearchDispatcher extends KTStandardDispatcher { | @@ -776,7 +776,6 @@ class SearchDispatcher extends KTStandardDispatcher { | ||
| 776 | } | 776 | } |
| 777 | } | 777 | } |
| 778 | 778 | ||
| 779 | - | ||
| 780 | $oDispatcher = new SearchDispatcher(); | 779 | $oDispatcher = new SearchDispatcher(); |
| 781 | $oDispatcher->dispatch(); | 780 | $oDispatcher->dispatch(); |
| 782 | 781 |
search2/search/expr.inc.php
| @@ -49,8 +49,6 @@ require_once('search/fieldRegistry.inc.php'); | @@ -49,8 +49,6 @@ require_once('search/fieldRegistry.inc.php'); | ||
| 49 | require_once('search/exprConstants.inc.php'); | 49 | require_once('search/exprConstants.inc.php'); |
| 50 | 50 | ||
| 51 | /** | 51 | /** |
| 52 | - * | ||
| 53 | - * | ||
| 54 | * This class handles the ranking of search results | 52 | * This class handles the ranking of search results |
| 55 | * | 53 | * |
| 56 | * @author KnowledgeTree Team | 54 | * @author KnowledgeTree Team |
| @@ -794,7 +792,6 @@ class ValueListExpr extends Expr | @@ -794,7 +792,6 @@ class ValueListExpr extends Expr | ||
| 794 | $this->values[] = $value; | 792 | $this->values[] = $value; |
| 795 | } | 793 | } |
| 796 | 794 | ||
| 797 | - | ||
| 798 | public function getValue($param=null) | 795 | public function getValue($param=null) |
| 799 | { | 796 | { |
| 800 | if (!empty($param)) | 797 | if (!empty($param)) |
| @@ -950,6 +947,7 @@ interface QueryBuilder | @@ -950,6 +947,7 @@ interface QueryBuilder | ||
| 950 | 947 | ||
| 951 | /** | 948 | /** |
| 952 | * This class builds queries for text content searches | 949 | * This class builds queries for text content searches |
| 950 | + * which are run through the Lucene service | ||
| 953 | * | 951 | * |
| 954 | * @author KnowledgeTree Team | 952 | * @author KnowledgeTree Team |
| 955 | * @package Search | 953 | * @package Search |
| @@ -1111,8 +1109,7 @@ class SQLQueryBuilder implements QueryBuilder | @@ -1111,8 +1109,7 @@ class SQLQueryBuilder implements QueryBuilder | ||
| 1111 | } | 1109 | } |
| 1112 | 1110 | ||
| 1113 | /** | 1111 | /** |
| 1114 | - * Sets the value which determines whether archived/deleted documents | ||
| 1115 | - * are to be included in search results | 1112 | + * Sets the value which determines whether status must be 1 to return results |
| 1116 | * | 1113 | * |
| 1117 | * @author KnowledgeTree Team | 1114 | * @author KnowledgeTree Team |
| 1118 | * @access public | 1115 | * @access public |
search2/search/fields/AnyMetadataField.inc.php
| @@ -39,46 +39,21 @@ | @@ -39,46 +39,21 @@ | ||
| 39 | 39 | ||
| 40 | class AnyMetadataField extends DBFieldExpr | 40 | class AnyMetadataField extends DBFieldExpr |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::CONTAINS; | 43 | public $general_op = ExprOp::CONTAINS; |
| 43 | -// public $references = 0; | ||
| 44 | 44 | ||
| 45 | public function __construct() | 45 | public function __construct() |
| 46 | { | 46 | { |
| 47 | -// parent::__construct('value', 'document_fields_link', _kt('Any Metadata')); | 47 | + /* |
| 48 | + * Constructing the object like this allows for easy multiple joins | ||
| 49 | + * on the same column in the same table | ||
| 50 | + */ | ||
| 48 | parent::__construct('id', 'document_metadata_version', _kt('Any Metadata')); | 51 | parent::__construct('id', 'document_metadata_version', _kt('Any Metadata')); |
| 49 | $this->setAlias('Metadata'); | 52 | $this->setAlias('Metadata'); |
| 50 | $this->joinTo('document_fields_link', 'metadata_version_id'); | 53 | $this->joinTo('document_fields_link', 'metadata_version_id'); |
| 51 | $this->matchField('value'); | 54 | $this->matchField('value'); |
| 52 | } | 55 | } |
| 53 | 56 | ||
| 54 | - /* | ||
| 55 | - * Overridden function to adjust table alias in cases of | ||
| 56 | - * the document_fields_link table being included more than once | ||
| 57 | - * | ||
| 58 | - * NOTE this only works in conjunction with code in expr.inc.php which adds the left joins to the db query. | ||
| 59 | - * I don't like this and think we should look for a way to make the table joining more generic | ||
| 60 | - * such that it can be controlled via these classes and thereby contained as a unit. | ||
| 61 | - */ | ||
| 62 | -// public function modifyName($name) | ||
| 63 | -// { | ||
| 64 | -// if ($this->references > 0) | ||
| 65 | -// { | ||
| 66 | -// static $count = 0; | ||
| 67 | -// if ($count >= $this->references) | ||
| 68 | -// { | ||
| 69 | -// $count = 0; | ||
| 70 | -// } | ||
| 71 | -// | ||
| 72 | -// if ((($pos = strpos($name, '.')) !== false) && ($count != 0)) | ||
| 73 | -// { | ||
| 74 | -// $name = substr($name, 0, $pos) . $count . substr($name, $pos); | ||
| 75 | -// } | ||
| 76 | -// ++$count; | ||
| 77 | -// } | ||
| 78 | -// | ||
| 79 | -// return $name; | ||
| 80 | -// } | ||
| 81 | - | ||
| 82 | public function getInputRequirements() | 57 | public function getInputRequirements() |
| 83 | { | 58 | { |
| 84 | return array('value'=>array('type'=>FieldInputType::TEXT)); | 59 | return array('value'=>array('type'=>FieldInputType::TEXT)); |
search2/search/fields/DiscussionTextField.inc.php
| @@ -39,6 +39,7 @@ | @@ -39,6 +39,7 @@ | ||
| 39 | 39 | ||
| 40 | class DiscussionTextField extends SearchableText | 40 | class DiscussionTextField extends SearchableText |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::CONTAINS; | 43 | public $general_op = ExprOp::CONTAINS; |
| 43 | 44 | ||
| 44 | public function __construct() | 45 | public function __construct() |
search2/search/fields/DocumentIdField.inc.php
| @@ -39,6 +39,7 @@ | @@ -39,6 +39,7 @@ | ||
| 39 | 39 | ||
| 40 | class DocumentIdField extends DBFieldExpr | 40 | class DocumentIdField extends DBFieldExpr |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::IS; | 43 | public $general_op = ExprOp::IS; |
| 43 | 44 | ||
| 44 | public function __construct() | 45 | public function __construct() |
search2/search/fields/FilenameField.inc.php
| @@ -39,9 +39,9 @@ | @@ -39,9 +39,9 @@ | ||
| 39 | 39 | ||
| 40 | class FilenameField extends DBFieldExpr | 40 | class FilenameField extends DBFieldExpr |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::CONTAINS; | 43 | public $general_op = ExprOp::CONTAINS; |
| 43 | 44 | ||
| 44 | - | ||
| 45 | public function __construct() | 45 | public function __construct() |
| 46 | { | 46 | { |
| 47 | parent::__construct('filename', 'document_content_version', _kt('Filename')); | 47 | parent::__construct('filename', 'document_content_version', _kt('Filename')); |
search2/search/fields/FullPathField.inc.php
| @@ -39,6 +39,7 @@ | @@ -39,6 +39,7 @@ | ||
| 39 | 39 | ||
| 40 | class FullPathField extends DBFieldExpr | 40 | class FullPathField extends DBFieldExpr |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::CONTAINS; | 43 | public $general_op = ExprOp::CONTAINS; |
| 43 | 44 | ||
| 44 | public function __construct() | 45 | public function __construct() |
search2/search/fields/GeneralTextField.inc.php
| @@ -37,6 +37,26 @@ | @@ -37,6 +37,26 @@ | ||
| 37 | * | 37 | * |
| 38 | */ | 38 | */ |
| 39 | 39 | ||
| 40 | +/** | ||
| 41 | + * Class to combine multiple search fields under the heading of GeneralText search | ||
| 42 | + * | ||
| 43 | + * Fields are added to the GeneralText search by declaring and initialising the | ||
| 44 | + * ${fieldclass}->general_op variable within the field class you would like to | ||
| 45 | + * include in the GeneralText search. To do this, add the following class variable | ||
| 46 | + * declaration: | ||
| 47 | + * | ||
| 48 | + * public $general_op = ExprOp::CONTAINS; | ||
| 49 | + * | ||
| 50 | + * At the time of writing (2009/05/15) the following field classes are included: | ||
| 51 | + * | ||
| 52 | + * AnyMetadataField | ||
| 53 | + * DiscussionTextField | ||
| 54 | + * DocumentIdField | ||
| 55 | + * FilenameField | ||
| 56 | + * FullPathField | ||
| 57 | + * TitleField | ||
| 58 | + * | ||
| 59 | + */ | ||
| 40 | class GeneralTextField extends SearchableText | 60 | class GeneralTextField extends SearchableText |
| 41 | { | 61 | { |
| 42 | public function __construct() | 62 | public function __construct() |
| @@ -83,10 +103,7 @@ class GeneralTextField extends SearchableText | @@ -83,10 +103,7 @@ class GeneralTextField extends SearchableText | ||
| 83 | $right = new OpExpr($right, ExprOp::OP_OR, $newexpr); | 103 | $right = new OpExpr($right, ExprOp::OP_OR, $newexpr); |
| 84 | } | 104 | } |
| 85 | } | 105 | } |
| 86 | - | ||
| 87 | } | 106 | } |
| 88 | - | ||
| 89 | - | ||
| 90 | } | 107 | } |
| 91 | 108 | ||
| 92 | ?> | 109 | ?> |
search2/search/fields/TitleField.inc.php
| @@ -39,6 +39,7 @@ | @@ -39,6 +39,7 @@ | ||
| 39 | 39 | ||
| 40 | class TitleField extends DBFieldExpr | 40 | class TitleField extends DBFieldExpr |
| 41 | { | 41 | { |
| 42 | + // declare as part of GeneralText search | ||
| 42 | public $general_op = ExprOp::CONTAINS; | 43 | public $general_op = ExprOp::CONTAINS; |
| 43 | 44 | ||
| 44 | public function __construct() | 45 | public function __construct() |