Dettaglio configurazione iFile

JiFile per Joomla!

JIFile
JiFile è una componente per Joomla! che permette di indicizzare il contenuto dei file(PDF, DOC, ecc.) per poter effettuare delle ricerche al loro interno.

Scopri di più...  Demo

JoomPhoto Mobile

JPhotoMobile
JoomPhoto Mobile è una componente per Joomla! che ti permette di condividere le foto dal tuo dispositivo Android sul tuo portale Joomla!.

Scopri di più...  Demo

iFile Framework

IFile
IFile è un framework open source scritto interamente in PHP, permette l'indicizzazione dei contenuti testuali di un documento (DOC, PDF, EXCEL, etc) e una rapida ricerca all'interno degli stessi.

Scopri di più...  Demo

Easy Language

EasyLanguage
Easy Language è un plugin per la gestione semplice ed immediata di testi multilingua in ogni parte possibile di joomla, articoli, componenti, moduli, metadata, template, altri componenti(esempio K2) ecc.

Scopri di più...

Article Book Effect

Article Book Effect
Visualizza gli articoli di Joomla con l'effetto volta pagina di un libro. Questo plugin consente di visualizzare il contenuto di un articolo Joomla come un vero e proprio libro o una rivista, utilizzando tutti i vantaggi di HTML5

Scopri di più...  Demo

 

Fototessera

Article Book Effect
La più famosa Android App che ti permette di stampare le foto tessere per i tuoi documenti con il tuo smartphone Android, in modo semplice ed intuitivo.

Scopri di più...

 

Ombra pazza 3D

Ombra pazza 3D
Ombra Pazza è il puzzle game 3D frenetico e divertente per Android! Prova a ruotare le forme portandole nella posizione delle proprie ombre senza mai fallire! Risolvi una dopo l'altra tutte le combinazioni dei livelli di gioco.

Scopri di più...

 

Admin Countdown

Admin Countdown
Modulo per Joomla! 2.5 e 3.x visualizza nella parte di amministrazione del sito, un timer con il conto alla rovescia del tempo rimanente della tua sessione.

Scopri di più...  Demo

 

Dettaglio configurazione iFile

config 64Di seguito verranno descritti tutti gli elementi della configurazione.

Root-application [obbligatorio]
Definisce il path della root dell'applicazione. Questo è molto utile da utilizzare in caso si debba spostare l'applicazione in ambienti diversi, permettendo così di avere path relativi dei file indicizzati.  
Il sistema verifica che il path inserito esista e sia corretto nell’ambiente in cui si sta eseguendo il processo di indicizzazione,  altrimenti viene presentato in messaggio di errore. Va ricordato che non va inserito l'ultimo separatore di delimitazione.

Timelimit [opzionale]
Definisce il tempo massimo di esecuzione del processo di  indicizzazione  del singolo documento.
Il campo accetta solo valori interi positivi.
Se non valorizzato, il time-limit è quello configurato nel php.ini.
Il valore minimo inseribile è di 180 secondi.

Memorylimit [opzionale]
Definisce la memoria massima che lo script può allocare durante l’esecuzione del processo di indicizzazione del singolo documento.
Il campo accetta solo valori interi positivi.
Se non valorizzato, il memory-limit è quello configurato nel php.ini.

Duplicate [opzionale] Campo eliminato dalla versione 2.0
Definisce la possibilità di avere documenti duplicati all'interno dell'indice.
Se valorizzato a zero (0) o non presente, il sistema verifica che il contenuto del documento da indicizzare non sia già presente nell'indice.
Altrimenti se valorizzato a uno (1) il sistema non effettua la verifica di esistenza del documento all'interno dell'indice.
La verifica viene fatta sul contenuto del documento.
Parametri permessi:
  • 0
  • 1

Encoding  [opzionale]

Definisce il tipo di "charset encoding" in cui è stato scritto il documento.  Di fatto la combinazione di questo campo con il tipo di Analyzer (descritto più avanti)definiscono il processo di conversione dei dati per una corretta indicizzazione. Ad oggi il "charset encoding" definito in fase di configurazione viene utilizzato non solo per l'indicizzazione del contenuto del documento ma per tutti  i campi da indicizzare.
Se non valorizzato il sistema cerca di recuperare autonomamente il tipo di encoding di ogni campo.
I tipi di charset configurabili sono:
  • UTF-8
  • ASCII
  • ISO-8859-1
  • ISO-8859-15
  • CP1256
  • Windows-1252

Va fatta molta attenzione al tipo di encoding che viene settato in funzione del tipo di Analyzer utilizzato, una incorretta configurazione, potrebbe provocare una indicizzazione incompleta o restituire il messaggio di errore "Contenuto del file vuoto".

Va fatta molta attenzione al tipo di encoding che viene settato in funzione del tipo di Analyzer utilizzato.

Per le esperienze avute, in caso non si abbia una vera conoscenza del tipo di encoding del documento (ovvero nella maggior parte dei casi), conviene non configurare il campo.
Di fatto nel caso si utilizzi un Analyzer di tipo UTF-8 e si hanno file codificati in UTF-8 non andrebbe configurato l'encoding dato che le librerie di Zend Lucene tenterebbero di forzare la codifica e pertanto si potrebbe avere, soprattutto per caratteri speciali (con un numero di byte maggiore di uno), una alterazione dei caratteri.
In altri casi il processo di tokenizzazione dei termini potrebbe non andare a buon fine e ritornare un insieme vuoto, pertanto se il sistema presenta una eccezione che il contenuto del documento non è stato tokenizzato verificate anche l'encoding utilizzato.

Server Bit  [opzionale]
Definisce il tipo di server su cui è installato il vostro Joomla!. Questa configurazione serve per l’indicizzazione dei documenti PDF dato che il sistema deve poter utilizzare la XPDF compilata per il sistema operativo a 32 o 64 bit.

Microsoft Word To Text  [opzionale]
Definisce il meccanismo e l’encoding  per il recupero del contenuto da file Microsoft Word.  Se non valorizzato il sistema definisce automaticamente dei parametri di default.
  • type: Tipo di parser:
    - ANTIWORD (utilizza l’eseguibile ANTIWORD)
    - COM (utilizza le librerie COM di PHP)
    - PHP (utilizza uno script PHP)
  • encoding: Il tipo di encoding da utilizzare per il contenuto del documento è utilizzato solo per il type “ANTIWORD” ed equivale al nome senza estensione dei file .txt presenti nella cartella:
    adapter/helpers/binaries/resources/
    Non va assolutamente inserito ne il tipo di estensione ne il percorso del file.

XPDF [opzionale]
Modifica la xpdfrc
Cliccando sul link “Modifica xpdf” si aprirà una popup (Figura 19) che presenta il contenuto del file “xpdfrc” utilizzato da IFile per la configurazione delle opzioni della XPDF. Ora è solo necessario modificare il contenuto e salvarlo per rendere immediatamete disponibili le nuove opzioni alla prossima indicizzazione di un file PDF.
La pdftotext e la pdfinfo
Per utilizzare una versione personalizzare della “pdftotext” (per il recupero dei contenuti) e della “pdfinfo” (per il recupero dei metadati) basta inserire il percorso assoluto, compreso dell’eseguibile stesso.

Fields [opzionale]
Permette di modificare i tipi di indicizzazione dei campi, che IFile indicizza di default per i documenti. Questo potrebbe essere fatto in caso si voglia che il sistema gestisca differentemente come il testo dei vari campi venga indicizzato.

Analyzer [opzionale]

Serve alla gestione del tipo di analizzatore del testo da indicizzare.

Il tipo di analyzer serve per la gestione dei documenti sia in fase di indicizzazione che in fase di ricerca Se si configura un tipo di analyzer per indicizzare un documento e si cambia successivamente, durante la ricerca, i risultati potrebbero essere diversi da quelli attesi. Di fatto un analyzer dovrebbe essere sempre lo stesso per l'indice.

Se non valorizzato il sistema definisce automaticamente come analyzer:

Utf8_CaseInsensitive

I tipi di analizzatori sono:
  • Text
  • TextNum
  • Text_CaseInsensitive
  • TextNum_CaseInsensitive
  • Utf8
  • Utf8Num
  • Utf8_CaseInsensitive
  • Utf8Num_CaseInsensitive
  • Custom-default

Per quest'ultimo, "custom-default", il sistema presenta due nuovi campi che permettono di definire un tipo di analizzatore del testo personalizzato.

analyzer

Ovvero è possibile definire delle proprie classi per analizzare e tokenizzare  il testo .
Di fatto andranno definiti il "path" assoluto ove risiede lo script PHP contenente la classe definita nel campo  "class".

Un esempio di analizzatore personalizzato è presente al sito:
http://code.google.com/p/lucene-silverstripe-plugin/

Per maggiori dettagli sul tipo di analyzer più appropriato alle proprie esigenze si rimanda al sito della Zend Framework:
http://framework.zend.com/manual/en/zend.search.lucene.extending.html

Filtri  [opzionale]
Servono per la gestione del processo di tokenizzazione definendo i filtri sui termini tokenizzati.

I filtri servono per la gestione dei documenti sia in fase di indicizzazione che in fase di ricerca. Se si configurano dei filtri per indicizzare un documento e se ne configurano altri per la ricerca, i risultati potrebbero essere diversi da quelli attesi. Di fatto i filtri dovrebbero essere sempre gli stessi per l'indice.

E' possibile non definire nessun tipo di filtro.
I filtri disponibili sono di tre tipi:
  • stop-words
  • short-words
  • custom-fields

stop-words [opzionale]
Definisce il file per l'eliminazione delle parole (termini tokenizzati) all'interno del testo da indicizzare.
Il campo richiede il percorso assoluto del file delle stop-words.
Il file deve contenere tutte le parole separate da un ritorno a capo.

Esempio:
/var/www/html/app/mystopwords.txt

short-words [opzionale]
Definisce il limite minimo di caratteri del singolo termine. Pertanto settando un limite minimo di 3 caratteri per termine, il sistema non indicizzerà e non considererà nei processi di ricerca tutte quelle parole di due caratteri (come ad esempio: io, tu, li, il, …).
Il sistema permette di definire un limite minimo che va da 2 (due)  a 4 (quattro) caratteri.

E' possibile estendere il limite andando a definire nuovi limiti minimi nel file XSD.

custom-fields [opzionale]
Definisce la gestione di eventuali filtri personalizzati.
E' permesso integrare più di un filtro.

custom filters

Ovvero è possibile definire delle proprie classi per tokenizzare  il testo . Il tag necessita del "path" assoluto ove risiede lo script PHP contenente la classe definita nel campo "class".

Un esempio di analizzatore personalizzato è presente al sito:
http://code.google.com/p/lucene-silverstripe-plugin/

Vota JiFile

rate star
Se ti piace questa componente, per favore vota JiFile nella Joomla! extensions directory (JED). Questo aiuta JiFile a diventare più conosciuto e questo porta anche più sviluppo e nuove integrazioni.

Clicca su "REVIEW"!
PHP Classes

IFile
by isApp.it

nominee
November 2013