HumHub Documentation (unofficial)

Writer
in package

Tags
category

Zend

subpackage

Index

Table of Contents

Properties

$maxBufferedDocs  : int
Number of documents required before the buffered in-memory documents are written into a new Segment
$maxMergeDocs  : int
Largest number of documents ever merged by addDocument().
$mergeFactor  : int
Determines how often segment indices are merged by addDocument().
$_currentSegment  : DocumentWriter
Current segment to add documents
$_directory  : DirectoryInterface
File system adapter.
$_indexExtensions  : array<string|int, mixed>
List of indexfiles extensions
$_newSegments  : array<string|int, mixed>
List of the segments, created by index writer Array of Zend_Search_Lucene_Index_SegmentInfo objects
$_segmentInfos  : array<string|int, mixed>|SegmentInfo
Array of Zend_Search_Lucene_Index_SegmentInfo objects for this index.
$_segmentsToDelete  : array<string|int, mixed>
List of segments to be deleted on commit
$_targetFormatVersion  : int
Index target format version
$_versionUpdate  : int
Changes counter.

Methods

__construct()  : mixed
Open the index for writing
addDocument()  : void
Adds a document to this index.
addIndexes()  : void
Merges the provided indexes into this index.
commit()  : void
Commit current changes
createIndex()  : void
Create empty index
optimize()  : bool
Merges all segments together into new one
_hasAnythingToMerge()  : bool
Check if we have anything to merge
_maybeMergeSegments()  : void
Merge segments if necessary
_mergeSegments()  : void
Merge specified segments
_newSegmentName()  : string
Get name for new segment
_updateSegments()  : void
Update segments file by adding current segment to a list

Properties

$maxBufferedDocs

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

public int $maxBufferedDocs = 10

Default value is 10

$maxMergeDocs

Largest number of documents ever merged by addDocument().

public int $maxMergeDocs = PHP_INT_MAX

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

$mergeFactor

Determines how often segment indices are merged by addDocument().

public int $mergeFactor = 10

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

$_indexExtensions

List of indexfiles extensions

private static array<string|int, mixed> $_indexExtensions = array('.cfs' => '.cfs', '.cfx' => '.cfx', '.fnm' => '.fnm', '.fdx' => '.fdx', '.fdt' => '.fdt', '.tis' => '.tis', '.tii' => '.tii', '.frq' => '.frq', '.prx' => '.prx', '.tvx' => '.tvx', '.tvd' => '.tvd', '.tvf' => '.tvf', '.del' => '.del', '.sti' => '.sti')

$_newSegments

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

private array<string|int, mixed> $_newSegments = array()

$_segmentInfos

Array of Zend_Search_Lucene_Index_SegmentInfo objects for this index.

private array<string|int, mixed>|SegmentInfo $_segmentInfos

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

$_segmentsToDelete

List of segments to be deleted on commit

private array<string|int, mixed> $_segmentsToDelete = array()

$_targetFormatVersion

Index target format version

private int $_targetFormatVersion

$_versionUpdate

Changes counter.

private int $_versionUpdate = 0

Methods

__construct()

Open the index for writing

public __construct(DirectoryInterface $directory, array<string|int, mixed> &$segmentInfos, int $targetFormatVersion) : mixed
Parameters
$directory : DirectoryInterface
$segmentInfos : array<string|int, mixed>
$targetFormatVersion : int

addDocument()

Adds a document to this index.

public addDocument(Document $document) : void
Parameters
$document : Document

addIndexes()

Merges the provided indexes into this index.

public addIndexes(array<string|int, mixed> $readers) : void
Parameters
$readers : array<string|int, mixed>

commit()

Commit current changes

public commit() : void

optimize()

Merges all segments together into new one

public optimize() : bool

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

Return values
bool

_hasAnythingToMerge()

Check if we have anything to merge

private _hasAnythingToMerge() : bool
Return values
bool

_maybeMergeSegments()

Merge segments if necessary

private _maybeMergeSegments() : void

_mergeSegments()

Merge specified segments

private _mergeSegments(array<string|int, mixed> $segments) : void

$segments is an array of SegmentInfo objects

Parameters
$segments : array<string|int, mixed>

_newSegmentName()

Get name for new segment

private _newSegmentName() : string
Return values
string

        
On this page

Search results