API Documentation

Search/Lucene/Index/Writer.php

Includes Classes 
category
Zend
copyright
Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
license
http://framework.zend.com/license/new-bsd New BSD License
package
Zend_Search_Lucene
subpackage
Index
version
$Id: Writer.php 20096 2010-01-06 02:05:09Z bkarwin $
Classes
Zend_Search_Lucene_Index_Writer

Description

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.

Zend_Search_Lucene_Index_Writer

category
Zend
copyright
Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
license
http://framework.zend.com/license/new-bsd New BSD License
package
Zend_Search_Lucene
subpackage
Index
Properties
$maxBufferedDocs
$maxMergeDocs
$mergeFactor
$_directory
$_versionUpdate
$_newSegments
$_segmentsToDelete
$_currentSegment
$_segmentInfos
$_targetFormatVersion
$_indexExtensions
Methods
createIndex
__construct
addDocument
_hasAnythingToMerge
_maybeMergeSegments
_mergeSegments
_updateSegments
commit
addIndexes
optimize
_newSegmentName

Description

Properties

$_currentSegment

Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter $_currentSegment = 'null'

Current segment to add documents

Details

$_currentSegment
Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter
visibility
private
default
null
final
false
static
false

$_directory

Zend_Search_Lucene_Storage_Directory $_directory = 'null'

File system adapter.

Details

$_directory
Zend_Search_Lucene_Storage_Directory
visibility
private
default
null
final
false
static
false

$_indexExtensions

array $_indexExtensions = 'array'

List of indexfiles extensions

Details

$_indexExtensions
array
visibility
private
default
array
final
false
static
true

$_newSegments

array $_newSegments = 'array'

List of the segments, created by index writer Array of Zend_Search_Lucene_Index_SegmentInfo objects

Details

$_newSegments
array
visibility
private
default
array
final
false
static
false

$_segmentInfos

array $_segmentInfos = ''

Array of Zend_Search_Lucene_Index_SegmentInfo objects for this index.

It's a reference to the corresponding Zend_Search_Lucene::$_segmentInfos array

Details

$_segmentInfos
array
Zend_Search_Lucene_Index_SegmentInfo
visibility
private
default
final
false
static
false

$_segmentsToDelete

array $_segmentsToDelete = 'array'

List of segments to be deleted on commit

Details

$_segmentsToDelete
array
visibility
private
default
array
final
false
static
false

$_targetFormatVersion

integer $_targetFormatVersion = ''

Index target format version

Details

$_targetFormatVersion
integer
visibility
private
default
final
false
static
false

$_versionUpdate

integer $_versionUpdate = '0'

Changes counter.

Details

$_versionUpdate
integer
visibility
private
default
0
final
false
static
false

$maxBufferedDocs

integer $maxBufferedDocs = '10'

Number of documents required before the buffered in-memory documents are written into a new Segment

Default value is 10

Details

$maxBufferedDocs
integer
visibility
public
default
10
final
false
static
false

$maxMergeDocs

integer $maxMergeDocs = 'PHP_INT_MAX'

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

Details

$maxMergeDocs
integer
visibility
public
default
PHP_INT_MAX
final
false
static
false

$mergeFactor

integer $mergeFactor = '10'

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

Details

$mergeFactor
integer
visibility
public
default
10
final
false
static
false

Methods

__construct

__construct( Zend_Search_Lucene_Storage_Directory $directory, array $segmentInfos, integer $targetFormatVersion ) :

Open the index for writing

Arguments
$directory
Zend_Search_Lucene_Storage_Directory
$segmentInfos
array
$targetFormatVersion
integer
Details
visibility
public
final
false
static
false

_hasAnythingToMerge

_hasAnythingToMerge( ) : boolean

Check if we have anything to merge

Output
boolean
Details
visibility
private
final
false
static
false

_maybeMergeSegments

_maybeMergeSegments( ) :

Merge segments if necessary

Details
visibility
private
final
false
static
false

_mergeSegments

_mergeSegments( array $segments ) :

Merge specified segments

$segments is an array of SegmentInfo objects

Arguments
$segments
array
Details
visibility
private
final
false
static
false

_newSegmentName

_newSegmentName( ) : string

Get name for new segment

Output
string
Details
visibility
private
final
false
static
false

_updateSegments

_updateSegments( ) :

Update segments file by adding current segment to a list

Details
visibility
private
final
false
static
false
throws

addDocument

addDocument( Zend_Search_Lucene_Document $document ) :

Adds a document to this index.

Arguments
$document
Zend_Search_Lucene_Document
Details
visibility
public
final
false
static
false

addIndexes

addIndexes( array $readers ) : void

Merges the provided indexes into this index.

Arguments
$readers
array
Details
visibility
public
final
false
static
false

commit

commit( ) :

Commit current changes

Details
visibility
public
final
false
static
false

createIndex

createIndex( Zend_Search_Lucene_Storage_Directory $directory, integer $generation, integer $nameCount ) :

Create empty index

Arguments
$directory
Zend_Search_Lucene_Storage_Directory
$generation
integer
$nameCount
integer
Details
visibility
public
final
false
static
true

optimize

optimize( ) : boolean

Merges all segments together into new one

Returns true on success and false if another optimization or auto-optimization process is running now

Output
boolean
Details
visibility
public
final
false
static
false
Documentation was generated by DocBlox.