Search/Lucene/Search/Query/MultiTerm.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Search_Lucene
- Subpackage
- Search
- Version
- $Id: MultiTerm.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Search_Lucene_Search_Query_MultiTerm
- Parent(s)
- \Zend_Search_Lucene_Search_Query
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties

float $_boost = 11Details- Type
- float
- Inherited_from
- \Zend_Search_Lucene_Search_Query::$$_boost

mixed $_coord = nullfloat for conjunction queries array of float for non conjunction queries
nullDetails- Type
- mixed

integer $_currentColorIndex = 00Details- Type
- integer
- Inherited_from
- \Zend_Search_Lucene_Search_Query::$$_currentColorIndex

array $_signsIf true then term is required. If false then term is prohibited. If null then term is neither prohibited, nor required
If array is null then all terms are required
- Type
- array

array $_terms = array()Array of Zend_Search_Lucene_Index_Term
array()Details- Type
- array

array $_termsFreqs = array()Array of Arrays: term1Id => (docId => freq, ...) term2Id => (docId => freq, ...)
array()Details- Type
- array
Methods

__construct(array $terms = null, array $signs = null) : voidClass constructor.
Create a new multi-term query object.
if $signs array is omitted then all terms are required it differs from addTerm() behavior, but should never be used
| Name | Type | Description |
|---|---|---|
| $terms | array | Array of Zend_Search_Lucene_Index_Term objects |
| $signs | array | Array of signs. Sign is boolean|null. |
| Exception | Description |
|---|---|
| \Zend_Search_Lucene_Exception |

_calculateConjunctionResult(\Zend_Search_Lucene_Interface $reader) : voidCalculate result vector for Conjunction query (like '+something +another')
| Name | Type | Description |
|---|---|---|
| $reader | \Zend_Search_Lucene_Interface |

_calculateNonConjunctionResult(\Zend_Search_Lucene_Interface $reader) : voidCalculate result vector for non Conjunction query (like '+something -another')
| Name | Type | Description |
|---|---|---|
| $reader | \Zend_Search_Lucene_Interface |

_conjunctionScore(integer $docId, \Zend_Search_Lucene_Interface $reader) : floatScore calculator for conjunction queries (all terms are required)
| Name | Type | Description |
|---|---|---|
| $docId | integer | |
| $reader | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| float |

_highlightMatches(\Zend_Search_Lucene_Search_Highlighter_Interface $highlighter) : voidQuery specific matches highlighting
| Name | Type | Description |
|---|---|---|
| $highlighter | \Zend_Search_Lucene_Search_Highlighter_Interface | Highlighter object (also contains doc for highlighting) |

_initWeight(\Zend_Search_Lucene_Interface $reader) : voidConstructs an initializes a Weight for a _top-level_query_.
Inherited from: \Zend_Search_Lucene_Search_Query::_initWeight()| Name | Type | Description |
|---|---|---|
| $reader | \Zend_Search_Lucene_Interface |

_nonConjunctionScore(integer $docId, \Zend_Search_Lucene_Interface $reader) : floatScore calculator for non conjunction queries (not all terms are required)
| Name | Type | Description |
|---|---|---|
| $docId | integer | |
| $reader | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| float |

addTerm(\Zend_Search_Lucene_Index_Term $term, boolean | null $sign = null) : voidAdd a $term (Zend_Search_Lucene_Index_Term) to this query.
The sign is specified as: TRUE - term is required FALSE - term is prohibited NULL - term is neither prohibited, nor required
| Name | Type | Description |
|---|---|---|
| $term | \Zend_Search_Lucene_Index_Term | |
| $sign | boolean | null |

createWeight(\Zend_Search_Lucene_Interface $reader) : \Zend_Search_Lucene_Search_WeightConstructs an appropriate Weight implementation for this query.
| Name | Type | Description |
|---|---|---|
| $reader | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| \Zend_Search_Lucene_Search_Weight |

execute(\Zend_Search_Lucene_Interface $reader, \Zend_Search_Lucene_Index_DocsFilter | null $docsFilter = null) : voidExecute query in context of index reader It also initializes necessary internal structures
Query specific implementation
| Name | Type | Description |
|---|---|---|
| $reader | \Zend_Search_Lucene_Interface | |
| $docsFilter | \Zend_Search_Lucene_Index_DocsFilter | null |

getBoost() : floatGets the boost for this clause.
Inherited from: \Zend_Search_Lucene_Search_Query::getBoost()Documents matching this clause will (in addition to the normal weightings) have their score multiplied by boost. The boost is 1.0 by default.
| Type | Description |
|---|---|
| float |

highlightMatches(string $inputHTML, string $defaultEncoding = '', \Zend_Search_Lucene_Search_Highlighter_Interface | null $highlighter = null) : stringHighlight matches in $inputHTML
Inherited from: \Zend_Search_Lucene_Search_Query::highlightMatches()| Name | Type | Description |
|---|---|---|
| $inputHTML | string | |
| $defaultEncoding | string | HTML encoding, is used if it's not specified using Content-type HTTP-EQUIV meta tag. |
| $highlighter | \Zend_Search_Lucene_Search_Highlighter_Interface | null |
| Type | Description |
|---|---|
| string |

htmlFragmentHighlightMatches(string $inputHtmlFragment, string $encoding = 'UTF-8', \Zend_Search_Lucene_Search_Highlighter_Interface | null $highlighter = null) : stringHighlight matches in $inputHtmlFragment and return it (without HTML header and body tag)
Inherited from: \Zend_Search_Lucene_Search_Query::htmlFragmentHighlightMatches()| Name | Type | Description |
|---|---|---|
| $inputHtmlFragment | string | |
| $encoding | string | Input HTML string encoding |
| $highlighter | \Zend_Search_Lucene_Search_Highlighter_Interface | null |
| Type | Description |
|---|---|
| string |

matchedDocs() : arrayGet document ids likely matching the query
It's an array with document ids as keys (performance considerations)
| Type | Description |
|---|---|
| array |

optimize(\Zend_Search_Lucene_Interface $index) : \Zend_Search_Lucene_Search_QueryOptimize query in the context of specified index
| Name | Type | Description |
|---|---|---|
| $index | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| \Zend_Search_Lucene_Search_Query |

reset() : voidReset query, so it can be reused within other queries or with other indeces
Inherited from: \Zend_Search_Lucene_Search_Query::reset()
rewrite(\Zend_Search_Lucene_Interface $index) : \Zend_Search_Lucene_Search_QueryRe-write query into primitive queries in the context of specified index
| Name | Type | Description |
|---|---|---|
| $index | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| \Zend_Search_Lucene_Search_Query |

score(integer $docId, \Zend_Search_Lucene_Interface $reader) : floatScore specified document
| Name | Type | Description |
|---|---|---|
| $docId | integer | |
| $reader | \Zend_Search_Lucene_Interface |
| Type | Description |
|---|---|
| float |

setBoost(float $boost) : voidSets the boost for this query clause to $boost.
Inherited from: \Zend_Search_Lucene_Search_Query::setBoost()| Name | Type | Description |
|---|---|---|
| $boost | float |

setWeight(integer $num, \Zend_Search_Lucene_Search_Weight_Term $weight) : voidSet weight for specified term
| Name | Type | Description |
|---|---|---|
| $num | integer | |
| $weight | \Zend_Search_Lucene_Search_Weight_Term |