IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

[Zend_Lucene] pertinence suivant un champ "vue"


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    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 : 117
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $data[]["id"]  = $result->id;
    ...

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    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 : 117
    Par défaut
    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

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo