API Documentation

Zend/Search/Lucene/MultiSearcher.php

Show: inherited
Table of Contents

Zend Framework

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  
Version
$Id: MultiSearcher.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Search_Lucene_Interface_MultiSearcher

Package: Zend\Search\Lucene

Multisearcher allows to search through several independent indexes.

Implements
\Zend_Search_Lucene_Interface
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotectedcallback  $_documentDistributorCallBack= 'null'

Callback used to choose target index for new documents

Function/method signature: Zend_Search_Lucene_Interface callbackFunction(Zend_Search_Lucene_Document $document, array $indices);

null means "default documents distributing algorithm"

Default valuenullDetails
Type
callback
Propertyprotectedarray  $_indices= ''

List of indices for searching.

Array of Zend_Search_Lucene_Interface objects

Details
Type
array
Propertyprivate\Zend_Search_Lucene_TermStreamsPriorityQueue  $_termsStream= 'null'

Terms stream priority queue object

Default valuenullDetails
Type
\Zend_Search_Lucene_TermStreamsPriorityQueue

Methods

methodpublic__construct( array $indices = array() ) : void

Object constructor.

Parameters
Name Type Description
$indices array

Arrays of indices for search

Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicaddDocument( \Zend_Search_Lucene_Document $document ) : void

Adds a document to this index.

Parameters
Name Type Description
$document \Zend_Search_Lucene_Document
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicaddIndex( \Zend_Search_Lucene_Interface $index ) : void

Add index for searching.

Parameters
Name Type Description
$index \Zend_Search_Lucene_Interface
methodpubliccloseTermsStream( ) : void

Close terms stream

Should be used for resources clean up if stream is not read up to the end

methodpubliccommit( ) : void

Commit changes resulting from delete() or undeleteAll() operations.

methodpubliccount( ) : integer

Returns the total number of documents in this index (including deleted documents).

Returns
Type Description
integer
methodpubliccurrentTerm( ) : \Zend_Search_Lucene_Index_Term|null

Returns term in current position

Returns
Type Description
\Zend_Search_Lucene_Index_Term|null
methodpublicdelete( integer|\Zend_Search_Lucene_Search_QueryHit $id ) : void

Deletes a document from the index.

$id is an internal document id

Parameters
Name Type Description
$id integer|\Zend_Search_Lucene_Search_QueryHit
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicdocFreq( \Zend_Search_Lucene_Index_Term $term ) : integer

Returns the number of documents in this index containing the $term.

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
Returns
Type Description
integer
methodpublicfind( mixed $query ) : array

Performs a query against the index and returns an array of Zend_Search_Lucene_Search_QueryHit objects.

Input is a string or Zend_Search_Lucene_Search_Query.

Parameters
Name Type Description
$query mixed
Returns
Type Description
array Zend_Search_Lucene_Search_QueryHit
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetActualGeneration( \Zend_Search_Lucene_Storage_Directory $directory ) : integer
static

Get current generation number

Returns generation number 0 means pre-2.1 index format -1 means there are no segments files.

Parameters
Name Type Description
$directory \Zend_Search_Lucene_Storage_Directory
Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetDefaultSearchField( ) : string
static

Get default search field.

Null means, that search is performed through all fields by default

Returns
Type Description
string
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetDirectory( ) : \Zend_Search_Lucene_Storage_Directory

Returns the Zend_Search_Lucene_Storage_Directory instance for this index.

Returns
Type Description
\Zend_Search_Lucene_Storage_Directory
methodpublicgetDocument( integer|\Zend_Search_Lucene_Search_QueryHit $id ) : \Zend_Search_Lucene_Document

Returns a Zend_Search_Lucene_Document object for the document number $id in this index.

Parameters
Name Type Description
$id integer|\Zend_Search_Lucene_Search_QueryHit
Returns
Type Description
\Zend_Search_Lucene_Document
Throws
Exception Description
\Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
methodpublicgetDocumentDistributorCallback( ) : callback

Get callback for choosing target index.

Returns
Type Description
callback
methodpublicgetFieldNames( boolean $indexed = false ) : array

Returns a list of all unique field names that exist in this index.

Parameters
Name Type Description
$indexed boolean
Returns
Type Description
array
methodpublicgetFormatVersion( ) : integer

Get index format version

Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetMaxBufferedDocs( ) : integer

Retrieve index maxBufferedDocs option

maxBufferedDocs is a minimal number of documents required before the buffered in-memory documents are written into a new Segment

Default value is 10

Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetMaxMergeDocs( ) : integer

Retrieve index maxMergeDocs option

maxMergeDocs is a largest number of documents ever merged by addDocument(). Small values (e.g., less than 10,000) are best for interactive indexing, as this limits the length of pauses while indexing to a few seconds. Larger values are best for batched indexing and speedier searches.

Default value is PHP_INT_MAX

Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetMergeFactor( ) : integer

Retrieve index mergeFactor option

mergeFactor determines how often segment indices are merged by addDocument(). With smaller values, less RAM is used while indexing, and searches on unoptimized indices are faster, but indexing speed is slower. With larger values, more RAM is used during indexing, and while searches on unoptimized indices are slower, indexing is faster. Thus larger values (> 10) are best for batch index creation, and smaller values (< 10) for indices that are interactively maintained.

Default value is 10

Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetResultSetLimit( ) : integer
static

Set result set limit.

0 means no limit

Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicgetSegmentFileName( integer $generation ) : string
static

Get segments file name

Parameters
Name Type Description
$generation integer
Returns
Type Description
string
methodpublicgetSimilarity( ) : \Zend_Search_Lucene_Search_Similarity

Retrive similarity used by index reader

Returns
Type Description
\Zend_Search_Lucene_Search_Similarity
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublichasDeletions( ) : boolean

Returns true if any documents have been deleted from this index.

Returns
Type Description
boolean
methodpublichasTerm( \Zend_Search_Lucene_Index_Term $term ) : boolean

Returns true if index contain documents with specified term.

Is used for query optimization.

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
Returns
Type Description
boolean
methodpublicisDeleted( integer $id ) : boolean

Checks, that document is deleted

Parameters
Name Type Description
$id integer
Returns
Type Description
boolean
Throws
Exception Description
\Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
methodpublicmaxDoc( ) : integer

Returns one greater than the largest possible document number.

This may be used to, e.g., determine how big to allocate a structure which will have an element for every document number in an index.

Returns
Type Description
integer
methodpublicnextTerm( ) : \Zend_Search_Lucene_Index_Term|null

Scans terms dictionary and returns next term

Returns
Type Description
\Zend_Search_Lucene_Index_Term|null
methodpublicnorm( integer $id, string $fieldName ) : float

Returns a normalization factor for "field, document" pair.

Parameters
Name Type Description
$id integer
$fieldName string
Returns
Type Description
float
methodpublicnumDocs( ) : integer

Returns the total number of non-deleted documents in this index.

Returns
Type Description
integer
methodpublicoptimize( ) : void

Optimize index.

Merges all segments into one

methodpublicresetTermsStream( ) : void

Reset terms stream.

methodpublicsetDefaultSearchField( string $fieldName ) : void
static

Set default search field.

Null means, that search is performed through all fields by default

Default value is null

Parameters
Name Type Description
$fieldName string
methodpublicsetDocumentDistributorCallback( callback $callback ) : void

Set callback for choosing target index.

Parameters
Name Type Description
$callback callback
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicsetFormatVersion( int $formatVersion ) : void

Set index format version.

Index is converted to this format at the nearest upfdate time

Parameters
Name Type Description
$formatVersion int
methodpublicsetMaxBufferedDocs( integer $maxBufferedDocs ) : void

Set index maxBufferedDocs option

maxBufferedDocs is a minimal number of documents required before the buffered in-memory documents are written into a new Segment

Default value is 10

Parameters
Name Type Description
$maxBufferedDocs integer
methodpublicsetMaxMergeDocs( integer $maxMergeDocs ) : void

Set index maxMergeDocs option

maxMergeDocs is a largest number of documents ever merged by addDocument(). Small values (e.g., less than 10,000) are best for interactive indexing, as this limits the length of pauses while indexing to a few seconds. Larger values are best for batched indexing and speedier searches.

Default value is PHP_INT_MAX

Parameters
Name Type Description
$maxMergeDocs integer
methodpublicsetMergeFactor(  $mergeFactor ) : void

Set index mergeFactor option

mergeFactor determines how often segment indices are merged by addDocument(). With smaller values, less RAM is used while indexing, and searches on unoptimized indices are faster, but indexing speed is slower. With larger values, more RAM is used during indexing, and while searches on unoptimized indices are slower, indexing is faster. Thus larger values (> 10) are best for batch index creation, and smaller values (< 10) for indices that are interactively maintained.

Default value is 10

Parameters
Name Type Description
$mergeFactor
methodpublicsetResultSetLimit( integer $limit ) : void
static

Set result set limit.

0 (default) means no limit

Parameters
Name Type Description
$limit integer
methodpublicskipTo( \Zend_Search_Lucene_Index_Term $prefix ) : void

Skip terms stream up to specified term preffix.

Prefix contains fully specified field info and portion of searched term

Parameters
Name Type Description
$prefix \Zend_Search_Lucene_Index_Term
methodpublictermDocs( \Zend_Search_Lucene_Index_Term $term, \Zend_Search_Lucene_Index_DocsFilter|null $docsFilter = null ) : array

Returns IDs of all the documents containing term.

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
$docsFilter \Zend_Search_Lucene_Index_DocsFilter|null
Returns
Type Description
array
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublictermDocsFilter( \Zend_Search_Lucene_Index_Term $term, \Zend_Search_Lucene_Index_DocsFilter|null $docsFilter = null ) : \Zend_Search_Lucene_Index_DocsFilter

Returns documents filter for all documents containing term.

It performs the same operation as termDocs, but return result as Zend_Search_Lucene_Index_DocsFilter object

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
$docsFilter \Zend_Search_Lucene_Index_DocsFilter|null
Returns
Type Description
\Zend_Search_Lucene_Index_DocsFilter
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublictermFreqs( \Zend_Search_Lucene_Index_Term $term, \Zend_Search_Lucene_Index_DocsFilter|null $docsFilter = null ) : integer

Returns an array of all term freqs.

Return array structure: array( docId => freq, ...)

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
$docsFilter \Zend_Search_Lucene_Index_DocsFilter|null
Returns
Type Description
integer
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublictermPositions( \Zend_Search_Lucene_Index_Term $term, \Zend_Search_Lucene_Index_DocsFilter|null $docsFilter = null ) : array

Returns an array of all term positions in the documents.

Return array structure: array( docId => array( pos1, pos2, ...), ...)

Parameters
Name Type Description
$term \Zend_Search_Lucene_Index_Term
$docsFilter \Zend_Search_Lucene_Index_DocsFilter|null
Returns
Type Description
array
Throws
Exception Description
\Zend_Search_Lucene_Exception
methodpublicterms( ) : array

Returns an array of all terms in this index.

Returns
Type Description
array
methodpublicundeleteAll( ) : void

Undeletes all documents currently marked as deleted in this index.

Documentation was generated by DocBlox 0.15.1.