Search/Lucene/Index/SegmentWriter.php
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 [email protected] 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
- Index
- Version
- $Id: SegmentWriter.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Search_Lucene_Index_SegmentWriter
- Children
- \Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter
- \Zend_Search_Lucene_Index_SegmentWriter_StreamWriter
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


\Zend_Search_Lucene_Storage_File $_fdtFile = null
'.fdt' file - Stored Fields, the field data.
null
Details


\Zend_Search_Lucene_Storage_File $_fdxFile = null
'.fdx' file - Stored Fields, the field index.
null
Details


array $_fields = array()
Segment fields.
Array of Zend_Search_Lucene_Index_FieldInfo objects for this segment
array()
Details- Type
- array


\unknown_type $_files = array()
List of the index files.
Used for automatic compound file generation
array()
Details- Type
- \unknown_type


array $_norms = array()
Normalization factors.
An array fieldName => normVector normVector is a binary string. Each byte corresponds to an indexed document in a segment and encodes normalization factor (float value, encoded by Zend_Search_Lucene_Search_Similarity::encodeNorm())
array()
Details- Type
- array


\Zend_Search_Lucene_Storage_File $_tiiFile = null
Term Dictionary index file
null
Details


integer $indexInterval = 128
Expert: The fraction of terms in the "dictionary" which should be stored in RAM.
Smaller values use more memory, but make searching slightly faster, while larger values use less memory and make searching slightly slower. Searching is typically not dominated by dictionary lookup, so tweaking this is rarely useful.
128
Details- Type
- integer


integer $maxSkipLevels = 0
Expert: The maximum number of skip levels.
Smaller values result in slightly smaller indexes, but slower skipping in big posting lists.
0 indicates that we don't use skip data
Note: not used in current implementation
0
Details- Type
- integer


integer $skipInterval = 2147483647
Expert: The fraction of TermDocs entries stored in skip tables.
Larger values result in smaller indexes, greater acceleration, but fewer accelerable cases, while smaller values result in bigger indexes, less acceleration and more accelerable cases. More detailed experiments would be useful here.
0x7FFFFFFF indicates that we don't use skip data
Note: not used in current implementation
2147483647
Details- Type
- integer
Methods


__construct(\Zend_Search_Lucene_Storage_Directory $directory, string $name) : void
Object constructor.
Name | Type | Description |
---|---|---|
$directory | \Zend_Search_Lucene_Storage_Directory | |
$name | string |


_dumpTermDictEntry(\Zend_Search_Lucene_Storage_File $dicFile, \Zend_Search_Lucene_Index_Term $prevTerm, \Zend_Search_Lucene_Index_Term $term, \Zend_Search_Lucene_Index_TermInfo $prevTermInfo, \Zend_Search_Lucene_Index_TermInfo $termInfo) : void
Dump Term Dictionary segment file entry.
Used to write entry to .tis or .tii files
Name | Type | Description |
---|---|---|
$dicFile | \Zend_Search_Lucene_Storage_File | |
$prevTerm | \Zend_Search_Lucene_Index_Term | |
$term | \Zend_Search_Lucene_Index_Term | |
$prevTermInfo | \Zend_Search_Lucene_Index_TermInfo | |
$termInfo | \Zend_Search_Lucene_Index_TermInfo |


addField(\Zend_Search_Lucene_Field $field) : integer
Add field to the segment
Returns actual field number
Name | Type | Description |
---|---|---|
$field | \Zend_Search_Lucene_Field |
Type | Description |
---|---|
integer |


addFieldInfo(\Zend_Search_Lucene_Index_FieldInfo $fieldInfo) : integer
Add fieldInfo to the segment
Returns actual field number
Name | Type | Description |
---|---|---|
$fieldInfo | \Zend_Search_Lucene_Index_FieldInfo |
Type | Description |
---|---|
integer |


addStoredFields(array $storedFields) : void
Add stored fields information
Name | Type | Description |
---|---|---|
$storedFields | array | array of Zend_Search_Lucene_Field objects |


addTerm(\Zend_Search_Lucene_Index_Term $termEntry, array $termDocs) : void
Add term
Term positions is an array( docId => array(pos1, pos2, pos3, ...), ... )
Name | Type | Description |
---|---|---|
$termEntry | \Zend_Search_Lucene_Index_Term | |
$termDocs | array |


close() : \Zend_Search_Lucene_Index_SegmentInfo
Close segment, write it to disk and return segment info
Type | Description |
---|---|
\Zend_Search_Lucene_Index_SegmentInfo |


count() : integer
Returns the total number of documents in this segment.
Type | Description |
---|---|
integer |