Class IFile_Indexing_Mysqli

Description

Utilizza MySql come motore di indicizzazione e ricerca

Utilizza MySql come motore di indicizzazione e ricerca

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

Located in /IFile_Indexing_Mysqli.php (line 32)

IFile_Indexing_Abstract
   |
   --IFile_Indexing_Mysqli
Variable Summary
static IFile_Indexing_MySqli $_instance
boolean $hasTerm
string $ifileTable
Method Summary
void __construct ( $connection)
void commit ()
integer comp_func_cr (array $a, array $b)
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])
boolean hasDeletions ()
boolean hasTerm (string $term, [string $field = null])
array input_mysqli ( $query, array $param)
boolean isDeleted ( $id)
integer numDocs ()
void optimize ()
array output_mysqli (string $query, [array $param = array()])
string replaceNameTable (string $query)
void undeletedAll ()
void __addCustomFieldToDocument ( $doc, obj $fields)
void __addDocument ( $doc)
array __arrayUnique ( &$array, array $array)
void __checkIndexingFileFromKey (string $key)
array __createFullTextQuery (object $listQuery, [ $expancion = 0])
void __createTable ()
integer __deleteAllDoc ()
integer __deleteIndex ()
string __getCharset ()
void __getCollation ()
mixed __getFieldValue ( $doc, string $field)
array __query (IFileQueryRegistry $query)
array __queryParser (string $query)
array __setHits ( $hits)
Variables
static IFile_Indexing_MySqli $_instance (line 46)

Istanza di IFile_Indexing_MySqli

Istanza di IFile_Indexing_MySqli

  • access: private
boolean $hasTerm = false (line 53)

Serve nella ricerca di un termine all'interno dell'indice

Serve nella ricerca di un termine all'interno dell'indice

  • access: private
string $ifileTable (line 39)

Nome della Tabella

Nome della Tabella

  • 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 65)

Invoca un eccezione in caso non riesca ad aprire o creare l'indice.

Invoca un eccezione in caso non riesca ad aprire o creare l'indice. Recupera il nome della tabella utilizzata per l'indicizzazione dal file di configurazione. Se non settata prende il valore della costante IFILE_TABLE

  • throws: Zend_Search_Lucene_Exception, IFile_Exception
  • access: public
void __construct ( $connection)
  • mysqli $connection

Redefinition of:
IFile_Indexing_Abstract::__construct()
commit (line 1097)

Committa l'indice

Committa l'indice

  • access: public
void commit ()

Redefinition of:
IFile_Indexing_Abstract::commit()
Committa l'indice
comp_func_cr (line 581)

Callback per la gestione dell'array_diff sugli array di ricerca

Callback per la gestione dell'array_diff sugli array di ricerca

  • access: public
integer comp_func_cr (array $a, array $b)
  • array $a
  • array $b
count (line 947)

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 933)

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 1212)

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 1014)

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

  • 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.
getDocument (line 1061)

Ritorna l'oggetto documento

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

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

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

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
hasDeletions (line 1105)

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 1125)

Verifica se esiste il termine all'interno dell'indice

Verifica se esiste il termine all'interno dell'indice Se il filed non e' settato e non e' stato definito un field di default allora ricerca su tutti i campi

  • 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
input_mysqli (line 1314)

Gestisce le query di INPUT con mysqli.

Gestisce le query di INPUT con mysqli. Ritorna il numero delle righe cambiate / inserite e in caso di auto_increment l'id dell'insert

  • throws: IFile_Exception
  • access: private
array input_mysqli ( $query, array $param)
  • array $param: parametri di passaggio
  • $query
isDeleted (line 1172)

Verifica se un documento e' stato marcato come cancellato

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

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

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

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 885)

Ottimizza l'indice

Ottimizza l'indice

  • access: public
void optimize ()

Redefinition of:
IFile_Indexing_Abstract::optimize()
Ottimizza l'indice
output_mysqli (line 1271)

Gestisce le query di OUTPUT con mysqli.

Gestisce le query di OUTPUT con mysqli. Ritorna il numero delle righe ottenute e un array contenente i dati della query

  • throws: IFile_Exception
  • access: private
array output_mysqli (string $query, [array $param = array()])
  • string $query
  • array $param: parametri di passaggio
replaceNameTable (line 1372)

Cambia il nome della tabelle nella query

Cambia il nome della tabelle nella query

  • access: private
string replaceNameTable (string $query)
  • string $query
undeletedAll (line 1193)

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 252)

Aggiunge il field personalizzato all'oggetto Zend_Search_Lucene_Document

Aggiunge il field personalizzato all'oggetto Zend_Search_Lucene_Document E crea la nuova struttura dati in base ai fields presenti nel documento

  • access: private
void __addCustomFieldToDocument ( $doc, obj $fields)
  • Zend_Search_Lucene_Document $doc
  • obj $fields
__addDocument (line 198)

Indicizza il documento

Indicizza il documento

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

Redefinition of:
IFile_Indexing_Abstract::__addDocument()
Indicizza il documento
__arrayUnique (line 525)

Ritorna un array con ID unico

Ritorna un array con ID unico

  • access: private
array __arrayUnique ( &$array, array $array)
  • array $array
  • &$array
__checkIndexingFileFromKey (line 368)

Verifica se il file e' stato gia' indicizzato

Verifica se il file e' stato gia' 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
__createFullTextQuery (line 387)

Restituisce un array con il risultato della query

Restituisce un array con il risultato della query sui field/term passati

  • internal:
  • access: private
array __createFullTextQuery (object $listQuery, [ $expancion = 0])
  • object $listQuery
  • $expancion
__createOrderString (line 542)

Ritorna la stringa per l'ordinamento

Ritorna la stringa per l'ordinamento

  • access: private
string __createOrderString ()
__createTable (line 97)

Verifica l'esistenza della tabella.

Verifica l'esistenza della tabella. Se non esiste la crea

  • access: private
void __createTable ()
__deleteAllDoc (line 1247)

Cancella tutti i documenti dalla tabella.

Cancella tutti i documenti dalla tabella. Ritorna il numero di documenti cancellati.

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

Cancella l'intera Tabella.

Cancella l'intera Tabella. Ritorna il numero di documenti cancellati.

  • access: private
integer __deleteIndex ()
__getCharset (line 161)

Ritorna il Charater-set associato al tipo di encoding definito

Ritorna il Charater-set associato al tipo di encoding definito

  • access: private
string __getCharset ()
__getCollation (line 148)
  • access: private
void __getCollation ()
__getFieldValue (line 352)

Ritorna il valore di un field.

Ritorna il valore di un field. Gestisce l'eccezione del "Not field fuond" della classe Zend_Search_Lucene_Document

  • access: private
mixed __getFieldValue ( $doc, string $field)
  • Zend_Search_Lucene_Document $doc
  • string $field
__query (line 603)

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.
Ritorna lo SCORE dato l'utilizza la ricerca per linguaggio naturale. Questo pero' potrebbe ritornare non tutti i risultati dato che MySql non prende in considerazione termini rindondanti piu' del 50% all'interno dell'indicizzazione. http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

  • 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 701)

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 MySql gestisce autonomamente le Wildcard e le frasi Questa ricerca non ritorna lo SCORE come documentato nelle reference di Mysql http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

  • return: di Zend_Search_Lucene_Search_QueryHit
  • 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 669)

Esegue la fuzzy query.

Esegue la fuzzy query. Ritorna un array di oggetti Zend_Search_Lucene_Search_QueryHit

  • un array vuoto in caso la query non presenta match.
Questa ricerca non ritorna lo SCORE come documentato nelle reference di Mysql http://dev.mysql.com/doc/refman/5.0/en/fulltext-query-expansion.html

  • 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 820)

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

  • 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

  • un array vuoto in caso la query non presenta match.
Ritorna lo SCORE dato l'utilizza la ricerca per linguaggio naturale. Questo pero' potrebbe ritornare non tutti i risultati dato che MySql non prende in considerazione termini rindondanti piu' del 50% all'interno dell'indicizzazione. http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

  • 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 639)

Esegue la query di ricerca per frasi.

Esegue la query di ricerca per frasi. Ritorna 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 Ritorna lo SCORE dato l'utilizza la ricerca per linguaggio naturale. Questo pero' potrebbe ritornare non tutti i risultati dato che MySql non prende in considerazione termini rindondanti piu' del 50% all'interno dell'indicizzazione. http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

  • 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 798)

Questo metodo non e' supportato per MySql.

Questo metodo non e' supportato per MySql. Ritorna una IFile_Exception se invocato

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

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 Ritorna lo SCORE dato l'utilizza la ricerca per linguaggio naturale. Questo pero' potrebbe ritornare non tutti i risultati dato che MySql non prende in considerazione termini rindondanti piu' del 50% all'interno dell'indicizzazione. http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

  • 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
__setHits (line 859)

Ritorna un array di oggetti IFileQueryHit

Ritorna un array di oggetti IFileQueryHit Trasforma l'array in oggetti di Lucene Zend_Search_Lucene_Search_QueryHit

  • access: private
array __setHits ( $hits)
  • $hits

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:35 +0200 by phpDocumentor 1.4.0