Une longue histoire, des tas, d’essais, moults insultes, tentatives vaines, bref, quand vous avez une bibliothèque électronique avec epubs et ou pdfs, voire, avec des excel, des doc,/docx, odt…
Comment répertorier ce bordel ?
Là, intervient la notion de moteur de recherche interne…
Y a sharepoint, de microsoft, c’est payant, trois mois d’essais gratos, 3gB à télécharger…
Lucene….voir les article en interne…
Ouais, faut toucher à java, ça ue disent certains, bah! Un coup d’Eclipse, et le debug est plus facile…
Bref, …
Interopération avec Java Lucene
29.8.1. Formats de fichier
les fichiers d’index Zend_Search_Lucene sont compatible binairement avec une Lucene 1.4 et supérieur.
Une description détaillée de ce format est disponible ici : http://lucene.apache.org/java/docs/fileformats.html.
29.8.2. Répertoire d’index
Après la création de l’index, le dossier index contiendra plusieurs fichiers :
-
Le fichier
segments
est une liste des segments d’index. -
Les fichiers
*.cfs
contiennent les segments d’index. Note! Les index optimisés n’ont toujours qu’un seul segment. -
Le fichier
deletable
est une liste des fichiers qui ne sont plus utilisés par l’index, mais qui ne peuvent pas être supprimés.
29.8.3. Code source Java
Le code Java ci dessous fournis un exemple de comment indexer un fichier en utilisant Java Lucene:
/** * Création d'un index : */ import org.apache.lucene.index.IndexWriter; import org.apache.lucene.document.*; import java.io.* ... IndexWriter indexWriter = new IndexWriter("/donnees/mon_index", new SimpleAnalyzer(), true); ... String filename = "/path/to/file-to-index.txt" File f = new File(filename); Document doc = new Document(); doc.add(Field.Text("path", filename)); doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified()))); doc.add(Field.Text("author", "unknown")); FileInputStream is = new FileInputStream(f); Reader reader = new BufferedReader(new InputStreamReader(is)); doc.add(Field.Text("contents", reader)); indexWriter.addDocument(doc);
29.8.4. Utiliser LuceneIndexCreation.jar
Pour démarrer rapidement avec Zend_Search_Lucene, un fichier JAR (Java) a été crée pour générer un index depuis la ligne de commande. Pour plus d’informations sur les fichiers JAR, visitez: http://java.sun.com/docs/books/tutorial/jar/basics/index.html.
LuceneIndexCreation.jar lit les fichier texte et construit un index à partir d’eux. Utilisation:
java -jar LuceneIndexCreation.jar [-c] [-s] <document_dir> <index_dir> -c - force l'index à sensible à être sensible àla case -s - stocke le contenu dans l'index
Cette commande analyse le répertoire <document_dir>
, ainsi que tous ces sous répertoires, et génère un index Lucene.
L’index est un jeu de fichiers qui seront stokés dans un répertoire séparé <index_dir>
.
Pour chaque document à indexer, LuceneIndexCreation crée un objet document avec trois champs: un champ contents qui contient le contenu (corps) du document, un champs modified qui contient la date de la dernière modification et le chemin complet ainsi que le nom du fichier dans le champ path.
Si -c
est specifié, alors l’index est sensible à la case.
Sinon tous les termes sont convertit en miniscule avant d’être ajouté à l’index.
Si -s
est specifié, alors le contenu du document est stocké dans l’index
et peut-être récupéré avec les champs path
et modified
.
Sinon seul les champs path
et modified
sont stockés, et seul le champ contents
est indexé.
Dans ce cas le contenu du document peut-être récupéré dans sa source original en utlisant son path.
Soyez prudent, utiliser l’option -s
augmente la taille de l’index de presque 5 fois.
Hey there just wanted to give you a brief heads up and let you know a few of the pictures aren’t loading correctly.
I’m not sure why but I think its a linking issue.
I’ve tried it in two different internet browsers and both show the
same outcome.
Hi Darming, have you some examples about those pictures with the loading’problems ? Thx !