Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Autres composants
Autres composants Forum de support sur les autres composants de Zend Framework.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/10/2011, 20h44   #1
Membre habitué
 
Homme
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 83
Points : 139
Points : 139
Par défaut [Zend_Lucene] pertinence suivant un champ "vue"

Bonjour a tous,
J'ai mis en place un mini moteur de recherche dans mon site via Zend_Lucene.
J'ai trouver comment booster un champ indéxé, mais il me reste une petite question:
J'ai un champ "nombre de vue" que j'indexe ai un impact sur la pertinence des résultats.

Voici mon code d'indexation (lancé par un cron toutes les nuit)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
foreach($list as $item) {
        $doc = new Zend_Search_Lucene_Document();
        $doc->addField(Zend_Search_Lucene_Field::Text('id',$item->id));
 
        $f = Zend_Search_Lucene_Field::Text('name',$item->name);
        $f->boost=2;
        $doc->addField($f);
        $doc->addField(Zend_Search_Lucene_Field::Text('desc',$item->desc));
        $doc->addField(Zend_Search_Lucene_Field::Text('tags',$item->tags));
        $doc->addField(Zend_Search_Lucene_Field::Text('nbview',$item->nbview));
        echo "Adding: ". $item->name ."\n";
        $index->addDocument($doc);
}
$index->commit();

Et mon code de recherche:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$query =$_GET['query'];
$results = $index->find($query);
 
if($index->count()) {
        $count = 0;
        foreach ($results as $result) {
                $data[$count]["id"]         = $result->id;
                $data[$count]["name"]        = $result->name;
                $data[$count]["desc"]        = $result->desc;
                $data[$count]["nbview"]    = $result->nbview;
                $data[$count]["tags"]             = $result->tags;
                $count++;
        }
}
Merci d'avance
__________________

Mon petit blog sans prétention : http://blog.octera.info/
OcterA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 20h51   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 154
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 154
Points : 8 519
Points : 8 519
Citation:
Envoyé par OcterA Voir le message
J'ai un champ "nombre de vue" que j'indexe ai un impact sur la pertinence des résultats.
pas compris la question


ps : ton $count est inutile fait juste
Code :
1
2
$data[]["id"]  = $result->id;
...
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 22h02   #3
Membre habitué
 
Homme
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 83
Points : 139
Points : 139
Désolé il manque des mots dans ma phrase...

Voici la bonne phrase et je pense que tu comprendra beaucoup mieux:

J'ai un champ "nombre de vue" que j'indexe et j'aimerais qu'il ai un impact sur la pertinence des résultats.

PS: merci pour l'astuce du count, je ne connaissais pas
__________________

Mon petit blog sans prétention : http://blog.octera.info/
OcterA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h43.


 
 
 
 
Partenaires

Hébergement Web