Class IFile_Indexing_Lucene

Description

Wrapper delle librerie Zend_Search__Lucene

Wrapper delle librerie Zend_Search__Lucene Permette di indicizzare file e ricercarli mediante Lucene

  • author: Giampaolo Losito, Antonio Di Girolomo
  • copyright:
  • license: GNU

Located in /IFile_Indexing_Lucene.php (line 27)

IFile_Indexing_Abstract
   |
   --IFile_Indexing_Lucene
Variable Summary
Zend_Search_Lucene $lucene
Method Summary
void __construct (string $indexDir)
void __destruct ()
void commit ()
integer count ()
void delete (integer $id)
integer deleteAll ([bool $doc = false])
mixed getAllDocument ([boolean $deleted = false], [integer $offset = null], [integer $maxrow = null])
Zend_Searc_Lucene_Document getDocument (integer $id)
array getFieldNames ([boolean $indexed = false])
integer getResultLimit ()
boolean hasDeletions ()
boolean hasTerm (string $term, [string $field = null])
boolean isDeleted ( $id)
integer numDocs ()
void optimize ()
void setDefaultSearchField (string $field)
void setResultLimit (integer $limit)
void undeletedAll ()
void __addCustomFieldToDocument ( $doc, string $field)
void __addDocument ( $doc)
void __checkIndexingFileFromKey (string $key)
void __createIndex (string $indexDir)
integer __deleteAllDoc ()
integer __deleteIndex ()
array __query (IFileQueryRegistry $query)
array __queryParser (string $query)
void __rmdirr (path $indexDir)
Variables
static IFile_Indexing_Lucene $_instance (line 34)

Istanza di IFile_Indexing_Lucene

Istanza di IFile_Indexing_Lucene

  • access: private
Zend_Search_Lucene $lucene = null (line 41)

Istanza di Zend_Search_Lucene

Istanza di Zend_Search_Lucene

  • access: private

Inherited Variables

Inherited from IFile_Indexing_Abstract

IFile_Indexing_Abstract::$autoCommit
IFile_Indexing_Abstract::$defaultField
IFile_Indexing_Abstract::$file
IFile_Indexing_Abstract::$handler
IFile_Indexing_Abstract::$registryFields
IFile_Indexing_Abstract::$registrySort
IFile_Indexing_Abstract::$resultlimit
Methods
Constructor __construct (line 49)

Costruttore

Costruttore

  • access: public
void __construct (string $indexDir)
  • string $indexDir: Path to the directory.

Redefinition of:
IFile_Indexing_Abstract::__construct()
Destructor __destruct (line 101)

Rimuove il riferimento a lucene creato nel costruttore

Rimuove il riferimento a lucene creato nel costruttore

  • access: public
void __destruct ()
commit (line 765)

Committa l'indice

Committa l'indice

  • access: public
void commit ()

Redefinition of:
IFile_Indexing_Abstract::commit()
Committa l'indice
count (line 652)

Ritorna il numero di documenti inseriti compresi quelli marcati come cancellati

Ritorna il numero di documenti inseriti compresi quelli marcati come cancellati

  • access: public
integer count ()

Redefinition of:
IFile_Indexing_Abstract::count()
Ritorna il numero di documenti inseriti compresi quelli marcati come cancellati
delete (line 608)

Marca un documento come cancellato

Marca un documento come cancellato Ritorna un eccezione Zend_Search_Lucene_Exception se $id non e' presente nel range degli id dell'indice

  • throws: Zend_Search_Lucene_Exception
  • access: public
void delete (integer $id)
  • integer $id

Redefinition of:
IFile_Indexing_Abstract::delete()
Marca un documento come cancellato
deleteAll (line 817)

Cancella l'indice e ritorna il numero di documenti cancellati

Cancella l'indice e ritorna il numero di documenti cancellati Se viene passato TRUE cancella solo tutti i documenti dall'indice e ritorna il numero di documenti cancellati altrimenti elimina completamente l'indice

  • access: public
integer deleteAll ([bool $doc = false])
  • bool $doc: [optional]

Redefinition of:
IFile_Indexing_Abstract::deleteAll()
Cancella l'indice e ritorna il numero di documenti cancellati
getAllDocument (line 700)

Ritorna un array contenente tutti gli oggetti Zend_Search_Lucene_Document presenti nell'indice, senza i documenti marcati come cancellati.

Ritorna un array contenente tutti gli oggetti Zend_Search_Lucene_Document presenti nell'indice, senza i documenti marcati come cancellati. Se settato il parametro $deleted = true allora ritorna anche i documenti cancellati. Ritorna NULL se non sono presenti documenti

  • throws: IFile_Exception
  • access: public
mixed getAllDocument ([boolean $deleted = false], [integer $offset = null], [integer $maxrow = null])
  • boolean $deleted: [optional]
  • integer $offset: [optional]
  • integer $maxrow: [optional]

Redefinition of:
IFile_Indexing_Abstract::getAllDocument()
Ritorna un array contenente tutti gli oggetti documento presenti nell'indice, senza i documenti marcati come cancellati.
getDefaultSearchField (line 644)

Ritorna il field di default su cui ricercare i termini

Ritorna il field di default su cui ricercare i termini

  • access: public
string getDefaultSearchField ()

Redefinition of:
IFile_Indexing_Abstract::getDefaultSearchField()
Ritorna il field di default su cui ricercare i termini
getDocument (line 681)

Ritorna l'oggetto documento

Ritorna l'oggetto documento Ritorna un eccezione Zend_Search_Lucene_Exception se $id non e' presente nel range degli id dell'indice

  • throws: Zend_Search_Lucene_Exception
  • access: public
Zend_Searc_Lucene_Document getDocument (integer $id)
  • integer $id

Redefinition of:
IFile_Indexing_Abstract::getDocument()
Ritorna l'oggetto documento
getFieldNames (line 669)

Ritorna un array dei campi presenti nell'indice

Ritorna un array dei campi presenti nell'indice

  • access: public
array getFieldNames ([boolean $indexed = false])
  • boolean $indexed: se true torna solo quelli indicizzati

Redefinition of:
IFile_Indexing_Abstract::getFieldNames()
Ritorna un array dei campi presenti nell'indice
getResultLimit (line 627)

Ritorna il limite dei risultati da estrarre

Ritorna il limite dei risultati da estrarre

  • access: public
integer getResultLimit ()

Redefinition of:
IFile_Indexing_Abstract::getResultLimit()
Ritorna il limite dei risultati da estrarre
hasDeletions (line 773)

Verifica se ci sono documenti calcellati

Verifica se ci sono documenti calcellati

  • access: public
boolean hasDeletions ()

Redefinition of:
IFile_Indexing_Abstract::hasDeletions()
Verifica se ci sono documenti calcellati
hasTerm (line 783)

Verifica se esiste il termine

Verifica se esiste il termine

  • access: public
boolean hasTerm (string $term, [string $field = null])
  • string $term
  • string $field: [0prional]

Redefinition of:
IFile_Indexing_Abstract::hasTerm()
Verifica se esiste il termine
isDeleted (line 795)

Verifica se un documento e' stato marcato come cancellato

Verifica se un documento e' stato marcato come cancellato Ritorna un eccezione Zend_Search_Lucene_Exception se $id non e' presente nel range degli id dell'indice

  • throws: Zend_Search_Lucene_Exception
  • access: public
boolean isDeleted ( $id)
  • $id

Redefinition of:
IFile_Indexing_Abstract::isDeleted()
Verifica se un documento e' stato marcato come cancellato
numDocs (line 660)

Ritorna il numero di documenti realmente presenti senza quelli marcati come cancellati

Ritorna il numero di documenti realmente presenti senza quelli marcati come cancellati

  • access: public
integer numDocs ()

Redefinition of:
IFile_Indexing_Abstract::numDocs()
Ritorna il numero di documenti realmente presenti senza quelli marcati come cancellati
optimize (line 596)

Ottimizza l'indice

Ottimizza l'indice

  • access: public
void optimize ()

Redefinition of:
IFile_Indexing_Abstract::optimize()
Ottimizza l'indice
setDefaultAnalyzer (line 157)

Setta l'analyzer ed eventuali filtri per l'indicizzazione e la ricerca

Setta l'analyzer ed eventuali filtri per l'indicizzazione e la ricerca Il metodo verifica l'esistenza nella configurazione dei filtri stop-words e short-words da aggiungere al processo di analyzer

  • throws: ReflectionException, Zend_Search_Lucene_Exception
  • access: private
void setDefaultAnalyzer ()
setDefaultSearchField (line 636)

Setta il field di default su cui ricercare i termini

Setta il field di default su cui ricercare i termini

  • access: public
void setDefaultSearchField (string $field)
  • string $field

Redefinition of:
IFile_Indexing_Abstract::setDefaultSearchField()
Setta il field di default su cui ricercare i termini
setResultLimit (line 619)

Setta il limite dei risultati da estrarre

Setta il limite dei risultati da estrarre

  • access: public
void setResultLimit (integer $limit)
  • integer $limit

Redefinition of:
IFile_Indexing_Abstract::setResultLimit()
Setta il limite dei risultati da estrarre
undeletedAll (line 804)

Ripristina tutti i documenti marcati come cancellati

Ripristina tutti i documenti marcati come cancellati Implementato in Zend_Search_Lucene dalla versione (x.x.x)

  • access: public
void undeletedAll ()

Redefinition of:
IFile_Indexing_Abstract::undeletedAll()
Ripristina tutti i documenti marcati come cancellati
__addCustomFieldToDocument (line 215)

Aggiunge il field personalizzato all'oggetto Zend_Search_Lucene_Document

Aggiunge il field personalizzato all'oggetto Zend_Search_Lucene_Document

  • access: private
void __addCustomFieldToDocument ( $doc, string $field)
  • Zend_Search_Lucene_Document $doc
  • string $field
__addDocument (line 117)

Indicizza il documento

Indicizza il documento

  • throws: Zend_Search_Lucene_Exception
  • access: protected
void __addDocument ( $doc)
  • Zend_Search_Lucene_Document $doc

Redefinition of:
IFile_Indexing_Abstract::__addDocument()
Indicizza il documento
__checkIndexingFileFromKey (line 248)

Verifica se il file e' gia' stato indicizzato

Verifica se il file e' gia' stato indicizzato

  • throws: IFile_Exception
  • access: protected
void __checkIndexingFileFromKey (string $key)
  • string $key: MD5

Redefinition of:
IFile_Indexing_Abstract::__checkIndexingFileFromKey()
Verifica se il file e' stato gia' indicizzato
__createIndex (line 60)

Crea o apre un indice.

Crea o apre un indice.

  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: private
void __createIndex (string $indexDir)
  • string $indexDir: Path to the directory.
__deleteAllDoc (line 889)

Cancella tutti i documenti dall'indice Ritorna il numero di documenti cancellati.

Cancella tutti i documenti dall'indice Ritorna il numero di documenti cancellati.

  • access: private
integer __deleteAllDoc ()
__deleteIndex (line 868)

Cancella tutto l'indice compresa la cartella.

Cancella tutto l'indice compresa la cartella. Invoca una eccezione se non si può cancellare l'indice. Ritorna il numero di documenti cancellati.

  • access: private
integer __deleteIndex ()
__query (line 269)

Esegue la query di ricerca per i termini Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

Esegue la query di ricerca per i termini Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

  • return: di Zend_Search_Lucene_Search_QueryHit
  • access: protected
array __query (IFileQueryRegistry $query)

Redefinition of:
IFile_Indexing_Abstract::__query()
Esegue la query di ricerca per i termini
__queryBoolean (line 403)

Esegue una boolean query Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  1. un array vuoto in caso la query non presenta match.

Esegue una boolean query Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  1. un array vuoto in caso la query non presenta match.
L'argomento $query di tipo IFileQueryRegistry deve contenere a sua volta oggetti IFileQueryRegistry

  • return: di Zend_Search_Lucene_Search_QueryHit
  • TODO: Andrebbe implementata anche la gestione per le Fuzzy e Wildcard
  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: protected
array __queryBoolean (IFileQueryRegistry $query)

Redefinition of:
IFile_Indexing_Abstract::__queryBoolean()
Esegue una boolean query
__queryFuzzy (line 361)

Esegue la fuzzy query Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

Esegue la fuzzy query Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.
Puo' essere ricercato solo un unico termine nella ricerca fuzzy altrimenti viene generata una eccezione di tipo IFile_Exception

  • return: di Zend_Search_Lucene_Search_QueryHit
  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: protected
array __queryFuzzy (IFileQueryRegistry $query)

Redefinition of:
IFile_Indexing_Abstract::__queryFuzzy()
Esegue fuzzy query
__queryParser (line 582)

Esegue una query parserizzando la stringa di ricerca Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  1. un array vuoto in caso la query non presenta match.

Esegue una query parserizzando la stringa di ricerca Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  1. un array vuoto in caso la query non presenta match.
Il metodo e' più lento rispetto ai metodi di ricerca davuto al tempo di parserizzazione della stringa.

  • return: di Zend_Search_Lucene_Search_QueryHit
  • throws: Zend_Search_Lucene_Exception, Zend_Search_Lucene_Search_QueryParserException
  • access: protected
array __queryParser (string $query)
  • string $query

Redefinition of:
IFile_Indexing_Abstract::__queryParser()
Esegue la query Parserizzaando la stringa
__queryPhrase (line 313)

Esegue la query di ricerca per frasi Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

Esegue la query di ricerca per frasi Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.
I campi (fields) devono essere gli stessi per tutti i termini altrimenti viene generata una eccezione di tipo Zend_Search_Lucene_Exception

  • return: di Zend_Search_Lucene_Search_QueryHit
  • TODO: si potrebbe migliorare gestendo anche la posizione ovvero se arriva un solo elemento si tokenizza e si lavora sui termini così come e' adesso. In caso arrivano piu' elementi allora si aspetta che questi siano formati da un solo termine e quindi si puo' gestire anche la posizione del termine
  • throws: Zend_Search_Lucene_Exception
  • access: protected
array __queryPhrase (IFileQueryRegistry $query)

Redefinition of:
IFile_Indexing_Abstract::__queryPhrase()
Esegue la query di ricerca per frasi
__queryRange (line 531)

Esegue la query per un range di dati Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

Esegue la query per un range di dati Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.
Puo' essere ricercato solo un range di termini per lo stesso field nella ricerca (ovveto solo i termini di "From" e "To") altrimenti viene generata una eccezione di tipo IFile_Exception

  • return: di Zend_Search_Lucene_Search_QueryHit
  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: protected
array __queryRange (IFileQueryRegistry $query)
__queryWildcard (line 491)

Esegue la query con caratteri Wildcard Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.

Esegue la query con caratteri Wildcard Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.
Puo' essere ricercato solo un unico termine nella ricerca wildcard altrimenti viene generata una eccezione di tipo IFile_Exception

  • return: di Zend_Search_Lucene_Search_QueryHit
  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: protected
array __queryWildcard (IFileQueryRegistry $query)

Redefinition of:
IFile_Indexing_Abstract::__queryWildcard()
Esegue la query con caratteri Wildcard
__rmdirr (line 835)

Cancella una directory/file ricorsivamente

Cancella una directory/file ricorsivamente

  • throws: IFile_Exception
  • access: private
void __rmdirr (path $indexDir)
  • path $indexDir

Inherited Methods

Inherited From IFile_Indexing_Abstract

IFile_Indexing_Abstract::__construct()
IFile_Indexing_Abstract::addCustomField()
IFile_Indexing_Abstract::addDocument()
IFile_Indexing_Abstract::autoCommit()
IFile_Indexing_Abstract::commit()
IFile_Indexing_Abstract::count()
IFile_Indexing_Abstract::delete()
IFile_Indexing_Abstract::deleteAll()
IFile_Indexing_Abstract::getAllDocument()
IFile_Indexing_Abstract::getCustomField()
IFile_Indexing_Abstract::getDefaultSearchField()
IFile_Indexing_Abstract::getDocument()
IFile_Indexing_Abstract::getFieldNames()
IFile_Indexing_Abstract::getIndexFile()
IFile_Indexing_Abstract::getIndexResource()
IFile_Indexing_Abstract::getResultLimit()
IFile_Indexing_Abstract::hasDeletions()
IFile_Indexing_Abstract::hasTerm()
IFile_Indexing_Abstract::isDeleted()
IFile_Indexing_Abstract::numDocs()
IFile_Indexing_Abstract::optimize()
IFile_Indexing_Abstract::query()
IFile_Indexing_Abstract::queryBoolean()
IFile_Indexing_Abstract::queryFuzzy()
IFile_Indexing_Abstract::queryParser()
IFile_Indexing_Abstract::queryPhrase()
IFile_Indexing_Abstract::queryRange()
IFile_Indexing_Abstract::queryWildcard()
IFile_Indexing_Abstract::setDefaultSearchField()
IFile_Indexing_Abstract::setIndexFile()
IFile_Indexing_Abstract::setIndexResource()
IFile_Indexing_Abstract::setResultLimit()
IFile_Indexing_Abstract::setSort()
IFile_Indexing_Abstract::undeletedAll()
IFile_Indexing_Abstract::__addDocument()
IFile_Indexing_Abstract::__checkIndexingFileFromKey()
IFile_Indexing_Abstract::__createDocumentFromFile()
IFile_Indexing_Abstract::__query()
IFile_Indexing_Abstract::__queryBoolean()
IFile_Indexing_Abstract::__queryFuzzy()
IFile_Indexing_Abstract::__queryParser()
IFile_Indexing_Abstract::__queryPhrase()
IFile_Indexing_Abstract::__queryWildcard()

Documentation generated on Fri, 16 Aug 2013 11:37:34 +0200 by phpDocumentor 1.4.0