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.
FULL_SCAN_VS_FETCH_BOUNDARY = '5'
"Full scan vs fetch" boundary.
If filter selectivity is less than this value, then full scan is performed (since term entries fetching has some additional overhead).
SM_TERMS_ONLY = '0'
Scan modes
SM_FULL_INFO = '1'
SM_MERGE_INFO = '2'
integer $_delGen = ''
Delete file generation number
-2 means autodetect latest delete generation -1 means 'there is no delete file' 0 means pre-2.1 format delete file X specifies used delete file
mixed $_deleted = 'null'
List of deleted documents.
bitset if bitset extension is loaded or array otherwise.
boolean $_deletedDirty = 'false'
$this->_deleted update flag
Zend_Search_Lucene_Storage_Directory_Filesystem $_directory = ''
File system adapter.
integer $_docCount = ''
Number of docs in a segment
array|null $_docMap = 'null'
Map of the document IDs Used to get new docID after removing deleted documents.
It's not very effective from memory usage point of view, but much more faster, then other methods
array $_fields = ''
Segment fields. Array of Zend_Search_Lucene_Index_FieldInfo objects for this segment
array $_fieldsDicPositions = ''
Field positions in a dictionary.
(Term dictionary contains filelds ordered by names)
Zend_Search_Lucene_Storage_File $_frqFile = 'null'
Frequencies File object for stream like terms reading
integer $_frqFileOffset = ''
Actual offset of the .frq file data
boolean $_hasSingleNormFile = ''
Segment has single norms file
If true then one .nrm file is used for all fields Otherwise .fN files are used
integer $_indexInterval = ''
Segment index interval
boolean $_isCompound = ''
Use compound segment file (*.cfs) to collect all other segment files (excluding .del files)
Zend_Search_Lucene_Index_Term $_lastTerm = 'null'
Last Term in a terms stream
Zend_Search_Lucene_Index_TermInfo $_lastTermInfo = 'null'
Last TermInfo in a terms stream
array|null $_lastTermPositions = ''
An array of all term positions in the documents.
Array structure: array( docId => array( pos1, pos2, ...), ...)
Is set to null if term positions loading has to be skipped
string $_name = ''
Segment name
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())
Zend_Search_Lucene_Storage_File $_prxFile = 'null'
Positions File object for stream like terms reading
integer $_prxFileOffset = ''
Actual offset of the .prx file in the compound file
array $_segFileSizes = ''
Associative array where the key is the file name and the value is file size (.csf).
array $_segFiles = ''
Associative array where the key is the file name and the value is data offset in a compound segment file (.csf).
$_sharedDocStoreOptions = ''
integer $_skipInterval = ''
Segment skip interval
integer $_termCount = '0'
Actual number of terms in term stream
array $_termDictionary = ''
Term Dictionary Index
Array of arrays (Zend_Search_Lucene_Index_Term objects are represented as arrays because of performance considerations) [0] -> $termValue [1] -> $termFieldNum
Corresponding Zend_Search_Lucene_Index_TermInfo object stored in the $_termDictionaryInfos
array $_termDictionaryInfos = ''
Term Dictionary Index TermInfos
Array of arrays (Zend_Search_Lucene_Index_TermInfo objects are represented as arrays because of performance considerations) [0] -> $docFreq [1] -> $freqPointer [2] -> $proxPointer [3] -> $skipOffset [4] -> $indexPointer
array $_termInfoCache = 'array'
TermInfo cache
Size is 1024. Numbers are used instead of class constants because of performance considerations
integer $_termNum = '0'
Overall number of terms in term stream
integer $_termsScanMode = ''
Terms scan mode
Values:
self::SM_TERMS_ONLY - terms are scanned, no additional info is retrieved self::SM_FULL_INFO - terms are scanned, frequency and position info is retrieved self::SM_MERGE_INFO - terms are scanned, frequency and position info is retrieved document numbers are compacted (shifted if segment has deleted documents)
Zend_Search_Lucene_Storage_File $_tisFile = 'null'
Term Dictionary File object for stream like terms reading
integer $_tisFileOffset = ''
Actual offset of the .tis file data
boolean $_usesSharedDocStore = ''
True if segment uses shared doc store
__construct(
Zend_Search_Lucene_Storage_Directory $directory, string $name, integer $docCount, integer $delGen
=
0, array|null $docStoreOptions
=
null, boolean $hasSingleNormFile
=
false, boolean $isCompound
=
null
)
:
Zend_Search_Lucene_Index_SegmentInfo constructor
_cleanUpTermInfoCache(
)
:
_deletedCount(
)
:
integer
Returns number of deleted documents.
_detectLatestDelGen(
)
:
integer
Detect latest delete generation
Is actualy used from writeChanges() method or from the constructor if it's invoked from Index writer. In both cases index write lock is already obtained, so we shouldn't care about it
_getFieldPosition(
integer $fieldNum
)
:
integer
Get field position in a fields dictionary
_load21DelFile(
)
:
mixed
Load 2.1+ format detetions file
Returns bitset or an array depending on bitset extension availability
_loadDelFile(
)
:
mixed
Load detetions file
Returns bitset or an array depending on bitset extension availability
_loadDictionaryIndex(
)
:
Load terms dictionary index
_loadNorm(
integer $fieldNum
)
:
Load normalizatin factors from an index file
_loadPre21DelFile(
)
:
mixed
Load pre-2.1 detetions file
Returns bitset or an array depending on bitset extension availability
closeTermsStream(
)
:
Close terms stream
Should be used for resources clean up if stream is not read up to the end
compoundFileLength(
string $extension
)
:
integer
Get compound file length
count(
)
:
integer
Returns the total number of documents in this segment (including deleted documents).
currentTerm(
)
:
Zend_Search_Lucene_Index_Term|null
Returns term in current position
currentTermPositions(
)
:
array
Returns an array of all term positions in the documents.
Return array structure: array( docId => array( pos1, pos2, ...), ...)
delete(
$id
)
:
Deletes a document from the index segment.
$id is an internal document id
getDelGen(
)
:
integer
Returns actual deletions file generation number.
getField(
integer $fieldNum
)
:
Zend_Search_Lucene_Index_FieldInfo
Returns field info for specified field
getFieldInfos(
)
:
array
Returns array of FieldInfo objects.
getFieldNum(
string $fieldName
)
:
integer
Returns field index or -1 if field is not found
getFields(
boolean $indexed
=
false
)
:
array
Returns array of fields.
if $indexed parameter is true, then returns only indexed fields.
getName(
)
:
string
Return segment name
getTermInfo(
Zend_Search_Lucene_Index_Term $term
)
:
Zend_Search_Lucene_Index_TermInfo
Scans terms dictionary and returns term info
hasDeletions(
)
:
boolean
Returns true if any documents have been deleted from this index segment.
hasSingleNormFile(
)
:
boolean
Returns true if segment has single norms file.
isCompound(
)
:
boolean
Returns true if segment is stored using compound segment file.
isDeleted(
$id
)
:
boolean
Checks, that document is deleted
nextTerm(
)
:
Zend_Search_Lucene_Index_Term|null
Scans terms dictionary and returns next term
norm(
integer $id, string $fieldName
)
:
float
Returns normalization factor for specified documents
normVector(
string $fieldName
)
:
string
Returns norm vector, encoded in a byte string
numDocs(
)
:
integer
Returns the total number of non-deleted documents in this segment.
openCompoundFile(
string $extension, boolean $shareHandler
=
true
)
:
Zend_Search_Lucene_Storage_File
Opens index file stoted within compound index file
resetTermsStream(
)
:
integer
Reset terms stream
$startId - id for the fist document $compact - remove deleted documents
Returns start document id for the next segment
skipTo(
Zend_Search_Lucene_Index_Term $prefix
)
:
Skip terms stream up to the specified term preffix.
Prefix contains fully specified field info and portion of searched term
termDocs(
Zend_Search_Lucene_Index_Term $term, integer $shift
=
0, Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
=
null
)
:
array
Returns IDs of all the documents containing term.
termFreqs(
Zend_Search_Lucene_Index_Term $term, integer $shift
=
0, Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
=
null
)
:
Zend_Search_Lucene_Index_TermInfo
Returns term freqs array.
Result array structure: array(docId => freq, ...)
termPositions(
Zend_Search_Lucene_Index_Term $term, integer $shift
=
0, Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
=
null
)
:
Zend_Search_Lucene_Index_TermInfo
Returns term positions array.
Result array structure: array(docId => array(pos1, pos2, ...), ...)
writeChanges(
)
:
Write changes if it's necessary.
This method must be invoked only from the Writer _updateSegments() method, so index Write lock has to be already obtained.