Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-12-2009 16:08:44

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

[Résolu][Zend_Search_Lucene] L'indexation d'un site web dynamique

Après avoir fait plusieurs projets Zend et utilisés de nombreux composant de Zend, je cherche maintenant à utiliser Zend_Search_Lucene.

J'ai une longueur d'avance puisque j'ai déjà fait des études en modélisation et indexation de BD pour améliorer la recherche, donc je comprends la logique de l'indexation. Cependant, je me demande si le système de recherche sera aussi utilisable avec un site dynamique (dont le contenu provient de la base de donnée et peut changer à tout moment).

Zend_Search utilise les documents et les exemples sont souvent avec des word ou des fichier .html. Moi, j'aimerais indexé le contenu des title généré par mes controllers et les informations récolté de la BD par mes controllers qui sont envoyé dans le .phtml, est-ce que la logique reste la même, quel document je dois prendre dans ce cas ?

L'idéal, serait qu'en plus de tout cela, les résultats de la recherche puisse être des liens vers les pages en questions avec des routes mais allons-y une chose à la fois.

J'aimerais bien voir combien ont réussis à faire un tel engin de recherche dans le site web.

Merci pour toutes vos informations d'avance !

Dernière modification par probitaille (10-12-2009 18:05:29)

Hors ligne

 

#2 09-12-2009 15:20:48

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Résolu][Zend_Search_Lucene] L'indexation d'un site web dynamique

Voici un vieux tutoriel qui peut vous expliquer comment faire...

http://devzone.zend.com/content/zendcon … dCon07.pdf

Hors ligne

 

#3 10-12-2009 00:37:45

nicol@s
Membre
Lieu: Nantes
Date d'inscription: 22-06-2009
Messages: 18
Site web

Re: [Résolu][Zend_Search_Lucene] L'indexation d'un site web dynamique

Salut probitaille !

La logique est identique, il suffit de créer ton propre document Zend_Search_Lucene_Document.

Imaginons que tu veuilles indexer un objet Article qui sort de ta bdd, tu peux construire un document comme suit :

Code:

$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::Keyword('identifiant', $monArticle->getId())); // clé primaire
$doc->addField(Zend_Search_Lucene_Field::Text('titre',  $monArticle->getTitre()));
$doc->addField(Zend_Search_Lucene_Field::UnStored('contenu',  $monArticle->getContenu()));

L'intérêt d'indexer la clé primaire issu de ta bdd est de garder une correspondance entre un résultat de recherche hit et ton objet métier.

Après, tu peux imaginer déclencher l'indexation ou la ré-indexation dans la méthode save de ton modèle de données, et la désindexation dans ta méthode delete, ce qui te permet d'avoir un index de recherche toujours à jour.

A+
Nicolas

Hors ligne

 

#4 10-12-2009 18:04:59

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: [Résolu][Zend_Search_Lucene] L'indexation d'un site web dynamique

Merci pour t'es conseil.

J'ai finalement utilisé le tutoriel qui permet de créer un crawler qui traverse mon site pour détecté si du contenu a changé.

C'est avec le Zend_Search_Lucene_Document_HTML.

Je crois que c'est plus complexe détecté le contenu de la bdd que vérifié le site lui-même de la même façon que procède un bot comme celui de google.

Grâce à cela, j'ai d'ailleurs trouvé des faiblesses à mon site tongue

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages