pertinence d'un moteur de recherche interne

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

pertinence d'un moteur de recherche interne

Message le Lun Oct 01, 2007 23:55

Bonsoir,

Je bricole un moteur de recherche interne pour un site.

A l'heure qu'il est, je contrôle bien les recherches qui sont réalisées sur la base de données du site qui contient mon contenu.

Mon problème porte sur la pertinence et la façon de l'évaluer.

explication :

je fais deux groupes de requêtes sql sur la table des pages :

- le premier groupe porte sur chaque mot isolé de la chaîne de recherche.
- le second porte sur l'expression complète (groupe de mot ordonné)

ces deux groupes comprenne trois type de requête :

- une sur les keyword de la page
- une sur la description de la page (court texte descriptif du contenu)
- une sur sur le contenu textuel de la page

pour résumer en exemple, si l'utilisateur entre 'événement original' j'aurais 2x3 requêtes pour les mots isolés et 3 autres requêtes pour l'expression complète.
donc 9 résultats de recherche.

Dans mon idée, je me suis dit que les requêtes portant sur la totalité de l'expression recherchée avait plus d'importance que celles sur les mots isolés. (je leur accorde donc 50% du total des points)

Parallèlement les 2x3 requêtes liées aux mots isolés (évènement et original) se voient attribuer les 50% restant des points

pour décomposer ensuite chaque groupe de 3 requêtes (pour chaque mot isolé ou l'expression complète) j'attribue plus d'importance au résultats effectués sur les mot clefs puis sur le résumé et enfin sur le contenu textuel.

c'est cette répartition des 'points' qui me semble 'discutable'

qu'en pensez vous ?

J'espère être clair, c'est pas évident, merci d'avance pour l'usage de vos neurones.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Oct 02, 2007 9:28

une recherche FULLTEXT me semble plus pertinente


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 10:07

FullText

MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION])

Depuis la version 3.23.23, MySQL propose l'indexation et la recherche sur l'ensemble d'un champ TEXT (full-text). Les index en texte intégral de MySQL sont des index de type FULLTEXT. Les index FULLTEXT sont utilisés avec les tables MyISAM et peuvent être créés depuis des colonnes de types CHAR, VARCHAR, ou TEXT au moment de CREATE TABLE ou plus tard avec ALTER TABLE ou CREATE INDEX. Pour les enregistrements les plus grands, il sera plus rapide de charger les donnés dans une table qui n'a pas d'index FULLTEXT, et ensuite de créer l'index avec ALTER TABLE (ou CREATE INDEX). L'enregistrement de données dans une table qui a déjà des index FULLTEXT sera plus lent.


pas mal je connaissait pas du tout, je vais expérimenter dans ce sens.

Merci


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 10:58

sensible aux accents une idée pour contourner le problème ?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3321
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Oct 02, 2007 12:18

Les accents se gerent tout seul. LIKE prend en compte les caracteres speciaux.

Code: Tout sélectionner
<?php   $search = 'LIKE \'%' . $mot . '%\'';   ?>


passion
WRInaute accro
WRInaute accro
 
Messages: 2452
Inscription: Ven Jan 06, 2006 20:18

Message le Mar Oct 02, 2007 12:36

Attention l'index en FULLTEXTE n'est utilisable que sur une table en MyIsam.

Si tu utilises des clés étrangères pour InnoDB marchera pas.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Oct 02, 2007 12:48

zeb a écrit:sensible aux accents une idée pour contourner le problème ?


pas chez moi


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3321
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Oct 02, 2007 12:59

webmasterlamogere a écrit:
zeb a écrit:sensible aux accents une idée pour contourner le problème ?


pas chez moi


Il peut toujours utiliser une fonction qui enleve les accents avant la requete sql.


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 15:34

KOogar a écrit:
webmasterlamogere a écrit:
zeb a écrit:sensible aux accents une idée pour contourner le problème ?


pas chez moi


Il peut toujours utiliser une fonction qui enlève les accents avant la requête sql.


les accent sont dans la base donc pas enlevables si la recherche est faite en fulltext.


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 15:35

passion a écrit:Attention l'index en FULLTEXTE n'est utilisable que sur une table en MyIsam.

Si tu utilises des clés étrangères pour InnoDB marchera pas.


Pas de problème ma base répond aux critères du fulltext


raljx
WRInaute accro
WRInaute accro
 
Messages: 2231
Inscription: Lun Juil 10, 2006 16:46

Message le Mar Oct 02, 2007 15:36

dans le cadre d'une recherche FULLTEXT tu peux aussi parametrer ta variable mysql --> min_word_len à 1 ou à 2 pour plus de pertinence sur les requtes a mots courts ...


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 15:37

KOogar a écrit:Les accents se gerent tout seul. LIKE prend en compte les caracteres speciaux.

Code: Tout sélectionner
<?php   $search = 'LIKE \'%' . $mot . '%\'';   ?>


LIKE ne fonctionne pas comme voulu chez moi (je pense que je merde avec) mais bon c'est l'option fulltext que j'ai travaillé et tant pis pour les accents pour le moment (j'aime pas bloquer trop longtemps sur un problème, j'y reviendrais)


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mar Oct 02, 2007 15:39

raljx a écrit:dans le cadre d'une recherche FULLTEXT tu peux aussi parametrer ta variable mysql --> min_word_len à 1 ou à 2 pour plus de pertinence sur les requtes a mots courts ...


J'ai vue ça mais pas acces au parametrage du serveur SQL donc ça ne me semble pas possible.

En revanche je ne sais pas si c'est une bonne idée dans la mesure ou les resultats sont innodés avec les : de du la le etc ...


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Re: pertinence d'un moteur de recherche interne

Message le Mar Oct 02, 2007 15:43

zeb a écrit:Bonsoir,

Je bricole un moteur de recherche interne pour un site.

A l'heure qu'il est, je contrôle bien les recherches qui sont réalisées sur la base de données du site qui contient mon contenu.

Mon problème porte sur la pertinence et la façon de l'évaluer.



En fait FullText gère super bien mon problème car c'est le serveur SQL qui prend en charge tous le travail que je faisais en PHP.

Je n'ai qu'une requête a passer pour avoir mes résultats ce qui pouvait m'en prendre beaucoup plus auparavant (mais je gérais les accent a ce moment)

A voir, si en charge, avec une base beaucoup plus volumineuse, le système se comporte toujours aussi bien ...


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12296
Inscription: Dim Aoû 08, 2004 20:24

Message le Mar Oct 02, 2007 15:47

j'avais testé un moment, mais je ne trouvais pas la pondération des résultats correcte.

pertinence d'un moteur de recherche interne

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Calcul du taux de liens vers des pages internes
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
  • Analyser le positionnement d'un site
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités