Posté le 15/11/2007 à 21:28 Membre depuis le 13/06/2001, 10727 messages
onur (./149) :
> non pour insérer il regarde la présence eventuel d'un mot, pour une premiere lettre c'est en log(n) pour la deuxieme, c'est aussi en log(n) mais parmi les résultats du premier, donc c'est en log(n)*O(log(n)) pour la troisieme et les autres ca continue pareil, donc c'est en log(n). C'est pour ca que je dis que vu le nombre que tu as déjà inseré, ca augmentera pas.


tu crois vraiment que mysql fonctionne comme ca ? grin revises tes cours sur les index alors smile

Avec un index le mot est trouvé en 1 itération ^^, quant au temps de recherche dans l'index est proportionnel à la taille de la table, donc si on la triple le temps va au moins double a mon avis
avatarWebmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)
Posté le 15/11/2007 à 22:18 Membre depuis le 21/10/2001, 6619 messages
alors, je me suis amusé un peu cheeky
méthode utilisée :
for word in `cat toto`; do echo $word; done | egrep "^........$" | sort -u | less

./148 : pour te donner une idée, dans ton post, il y a (aux accents et caractères spéciaux près, flemme de les virer) en gros :
11 mots de 1 lettre dont aucun pertinent (8 uniques, 0% pertinents)
50 mots de 2 lettres dont aucun pertinent (21 uniques, 0% pertinents)
30 mots de 3 lettres dont 3 pertinents (23 uniques, 13% pertinents)
34 mots de 4 lettres dont environ 6 pertinents (26 uniques, 23% pertinents)
25 mots de 5 lettres dont 8 pertinents (19 uniques, 42% pertinents)
8 mots de 6 lettres dont 100% pertinents (7 uniques, 100cheeky
13 mots de 7 lettres dont 9 pertinents (12 uniques, 69cheeky
7 mots de 8 lettres dont 100% pertinents (6 uniques, 100cheeky
4 mots de 9 lettres dont 100% pertinents (3 uniques, 100cheeky
6 mots plus grands (ou plus petits mais avec accents, donc mal gérés) dont 100% pertinents
total :
indexés : 131, pertinents : 48
on va partir du calcul suivant :
A=(nbr unique de mots de taille X) / (nombre de mots indexés) * 100 = pourcentage d'occupation pour le post en question
B=(nbr pertinents de taille X) / (nombre de mots indexés) * 100 = pourcentage d'occupation pertinente sur l'ensemble des mots
C=(nbr pertinents de taille X) / (nbr pertinents total) * 100 = pourcentage d'occupation pertinente sur les mots utiles
utilité d'index des mots de :
1 lettre : 6.1% , 0%, 0%
2 lettres : 16% , 0%, 0%
3 lettres : 17.5%, 2.2%, 6.25%
4 lettres : 19.8%, 4.5%, 12.5%
5 lettres : 14.5%, 6.1%, 16.6%
6 lettres : 5.3% , 5.3%, 14.5%
7 lettres : 9.1% , 6.8%, 18.75%
8 lettres : 4.5% , 4.5%, 12.5%
9 lettres : 2.2% , 4.5%, 6.25%
>9 lettres : 4.5% , 4.5%, 12.5%

Ce qui est utile, c'est de voir la différence de comportement entre A et C, ainsi que la hauteur de C, pour déterminer la qualité par types de mots.
1 et 2 : on a 0% utile, donc on peut balancer sans remord, on gagne 22,1% des mots indexés !
3 : occupent à eux seuls 17.5% des mots indexés, et pourtant, ils ne représentent que 6.25% des mots pertinents. En gros, c'est du gachi.
4 lettres : çadevient plus intéressant : A proche de C, donc on occupe bien la base
5 et supérieur : c'est que du bonheur : A<C, donc là, y'a peu de gachi, on prend !

conclusion : si tu veux économiser 39.6% de l'espace, tu tranches entre 3 et 4. en deça, le rapport n'est pas très intéressant pour les 3 lettres, et on

a du gachi, d'autant plus que les mots de 3 lettres ou moins sont les plus couramment utilisés, donc tu vas exploser la table d'association avec eux : tu ne peux pas jouer sur le fait que le mot est plus petit, donc moins coûteux en espace. De plus, outre le probleme de l'espace, tu as celui du temps : avec ces mots, tu exploses la table d'association, donc tu pénalises 100% des recherches...
avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 15/11/2007 à 22:23 Membre depuis le 11/07/2003, 54842 messages
ce qui pourrait être intéressant, c'est de voir quels sont les mots de 3 lettres qui sont vraiment du gâchi (il n'y en a sûrement pas tant que ça)
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Posté le 15/11/2007 à 22:31 Membre depuis le 21/10/2001, 6619 messages
...
1ms
50%
50,
62k
aux
bon
co,
des
est
foi
les
mon
non
ont
par
pas
que
sac
sur
une
été


trié à la barbare j'ai prévenu tongue
et j'ai désigné comme pertinent : sac, foi, bon
avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 15/11/2007 à 22:42 Membre depuis le 28/08/2003, 8205 messages
Bon, pour google, je ne crois pas que ce soit si important, mais il fait un ET.
[google]virevolter[/google] -> 78 000 résultats
[google]chiquenaude[/google] -> 41 300 résultats
[google]virevolter chiquenaude[/google] -> 91 résultats
(si google faisait un OU on aurait plus de 100 000 résultats)
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »
Posté le 15/11/2007 à 22:45 Membre depuis le 30/06/2001, 71444 messages
Non pour google c'est plus complexe, il ne fait pas toujorus un ET mais un OU de temps en temps, ça dépend de la pertinance de chacun des mots clefs
avatarProud to be CAKE©®™
The cake is a lie! - Love your weighted companion cube

->986-Studio's Wonder Project!<-
yN a cassé ma signature :o
Posté le 15/11/2007 à 22:45 Membre depuis le 13/06/2001, 10727 messages
oué mais [google]virevolter AND chiquenaude[/google] ^^
avatarWebmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)
Posté le 15/11/2007 à 22:46 Membre depuis le 13/06/2001, 10727 messages
Inclusion automatique de l'opérateur « AND »
Si votre recherche porte sur plusieurs termes, Google signale uniquement les pages qui comportent TOUS ces termes, mais pas nécessairement à la suite les uns des autres (équivalent de l'opérateur « AND », mais il n'est pas nécessaire de spécifier celui-ci entre les termes). Pour affiner une recherche, il suffit de spécifier d'autres termes.
avatarWebmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)
Posté le 15/11/2007 à 22:48 Membre depuis le 14/03/2002, 14196 messages
Google mixe les ET et les OU de tel sorte que tu récupères les résultats les plus pertinents ... si tu veux vraiment garder le contrôle sur ta recherche, il faut mettre explicitement les opérateurs.
Posté le 15/11/2007 à 22:51 Membre depuis le 07/04/2004, 2088 messages
./151 c'est pas mal tout ca wink

C'est quoi "pertinent" ? Car pour moi, quand on fait une recherche sur "un bon sac de voyage" , "un", "bon", "sac", "de" sont tous importants.
Posté le 15/11/2007 à 22:55 Membre depuis le 21/10/2001, 6619 messages
un n'est pas pertinent du tout, parce qu'il n'a aucun sens en tant que tel. Tu ne vas pas faire une recherche sur "un". Et ajouter "un" à "sac de voyage" n'apporte rien puisqu'on peut supposer que dans un post, il y de très forte chances de trouver de toute façon au moins une occurrence de "un". C'est un pollueur en quelques sortes.
En gros, tous le mots de liaisons, les articles, pronoms etc. n'ont aucune utilité dans une recherche, car n'ont pas de sens en tant que tel. Et ces mots sont essentiellement de 2 ou 3 lettres, c'est ça qui fait que les mots de 3 lettres ont un si mauvais résultat.

avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 15/11/2007 à 23:03 Membre depuis le 25/06/2001, 11732 messages
onur (./159) :
C'est quoi "pertinent" ? Car pour moi, quand on fait une recherche sur "un bon sac de voyage" , "un", "bon", "sac", "de" sont tous importants.

La pertinence aurait ete de sortir "sac" et ensuite "voyage".
"un" tu t'en fous completement, "bon" aussi en fait...
Posté le 15/11/2007 à 23:07 Membre depuis le 21/10/2001, 6619 messages
bon, j'ai hésité à le mettre en fait smile
mais pour chercher un sac de voyage, dans google (par exemple), jamais il ne me viendrait à l'esprit de chercher "un sac de voyage", je chercherais "sac" et "voyage".
avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 15/11/2007 à 23:16 Membre depuis le 11/07/2003, 54842 messages
[23:09] <+neuroo> tiens, d'ailleurs le pseudo pourrait etre une option, non?
[23:09] <+neuroo> des fois, je me rappelle que qqn a ecrit un truc, mais je sais plus ou...

bonne idée happy
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Posté le 15/11/2007 à 23:24 Membre depuis le 13/06/2001, 10727 messages
vu que c'était deja stocké => hop ajouté
avatarWebmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)
Posté le 16/11/2007 à 10:41 Membre depuis le 07/04/2004, 2088 messages
Oui mais là on est pas dans google. Dans google tu chercherais "sac" et "voyage" mais sur le forum, tu te souviens qu'il y avait un truc sur "un bon sac de voyage" et tu mets tous les mots, ca me semble normal. D'autant que:

je vois pas comment on peut négliger "un" ou "bon" ou "sac", sachant que ca me renvoie que des résultats en cherchant qu'avec "voyage". Pour peu que le post le contenant date un peu, il me l'aurait proposé dans les derniers. Donc là en plus, notion de score n'a plus aucune valeur.
Posté le 16/11/2007 à 11:12 Membre depuis le 21/10/2001, 6619 messages
un est négligeable, parce qu'il n'a pas de sens dans ta recherche. Tu peux retrouver le mot "un" dans n'importe quel contexte (un cheminot a fait une erreur et un train s'est retrouvé encastré dans un autre => trois fois le mot "un", pour un contexte différent, et différent du tien). Le mot "un" n'apporte aucune information, il n'a donc pas de pertinence dans ta recherche, d'autant que si tu cherches déjà le mot "sac", tu peux présupposer qu'avant, tu auras au choix "un" ou "le" (a priori), mais de façon purement aléatoire, il n'y a aucune raison de privilégier un article sur un autre. Tu n'augmentes pas ton score en ajoutant ce mot.
Le cas de sac et voyage est différent : ce sont des mots peu communs, précis, tu cherches bien un message qui parle de sac, et notamment de voyage. Pas de sac de poubelle ni de voyage d'affaire. Ils sont pertinents parce qu'ils ont un sens. C'est une simple question de français : un mot de liaison ne donne pas le sens d'une phrase, il l'accompagne.

Pour te donner une idée, fais ce petit jeu :
"un cheminot a fait une erreur et un train s'est encastré dans un autre"
maintenant, tu enleves les mots un par un, et tu t'arrêtes quand tu penses qu'en partant du résultat, tu n'arriveras a priori pas à retrouver le contexte et le sens.
cheminot a fait une erreur et un train s'est encastré dans un autre
cheminot fait une erreur et un train s'est encastré dans un autre
cheminot fait erreur et un train s'est encastré dans un autre
cheminot fait erreur et train s'est encastré dans un autre
cheminot fait erreur et train encastré dans un autre
cheminot fait erreur et train encastré dans autre
cheminot fait erreur train encastré dans autre
cheminot fait erreur train encastré autre
cheminot erreur train encastré autre
à partir de là, je pense que si tu enleves un mot, tu ne comprendrais rien. Mais à ce moment, tu comprends que ça cause d'un cheminot, d'une erreur, de trains (vu qu'il y a autre), et que comme y'a encastré, tu peux supposer que c'est deux trains qui se sont téléscopés.

mots supprimés (dans l'ordre) :
a fait une et un s'est dans un
avec ces mots, impossible de deviner le sens.

C'est une méthode comme une autre pour illustrer l'intérêt d'un mot dans une recherche, par rapport à un autre.
Donc, un, de ne sont pas pertinents.

Le cas de "bon" (pour le sac de voyage) est plus délicat : c'est un adjectif qualificatif, donc on peut opter pour deux solutions :
* soit on décide qu'on va chercher tout ce qui parle de sacs de voyage, bons ou mauvais, parce qu'il est difficile de faire la distinction (genre cdg : "j'ai un sac de voyage qui n'est pas bon, j'en ai marre il a encore explosé quand je l'ai rempli" => bon est devenu négatif).
* soit on décide que les gens ont tendance à parler sans négation, et que la qualification de l'objet peut être "choisie" par le moteur de recherche.
Personnellement, j'ai préféré supposer que le mot "bon" est pertinent, parce qu'on n'a pas tendance à dire "n'est pas bon", mais plutôt "est nul/mauvais". Le souci, c'est qu'il fait partie des très rares 3 lettres utiles trouvés dans ton message (pris au hasard pour l'exemple, mais je pense que tu peux faire pareil avec un peu n'importe quel message non construit "pour faire contre exemple"), et vue la pollution engendrée par les autres mots, si on a des contraintes fortes (taille, temps par exemple), faire le choix de ne pas indexer les mots de 1/2/3 lettres permet de faire gagner déjà près de 40% en efficacité.

avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 16/11/2007 à 11:12 Membre depuis le 13/12/2001, 6102 messages
#164> Non, dans google tu chercherais "un bon sac de voyage" avec les "", du moins si tu cherches un post contenant cette paraphrase, mais si tu cherches juste un sac parce que tu parts en voyage, alors là ok.
Négliger 'un' ? Alors que si tu ne le négliges pas tu renvois tous les posts du forum (avec un OU), ou tous les posts du forum contenant 'voyage' (si c'est un ET)...
Pour "bon", et d'autres mots rares de 3 lettres, comme 'sac', c'est vrai que c'est dommage.

Peux être faudrait-il une option speciale pour les mots de 3 lettres importants? Mais c'est de l'option pour geek uniquement.
#165 > bravo, belle demonstration.
Posté le 16/11/2007 à 11:39 Membre depuis le 07/04/2004, 2088 messages
./167 > Je propose de faire un ET justement directement.

./166 > Euh ok, mais dans ce cas, il faut pas faire un "OU" !! garder que "cheminot erreur train encastré autre " peut etre bon si tu fais que des "ET". Et encore, c'est qu'il faut que quelqu'un cherche un truc avec au moins 5 mots de taille > 4 lettres...
Posté le 16/11/2007 à 11:54 Membre depuis le 21/10/2001, 6619 messages
onur (./168) :
il faut pas faire un "OU" !! garder que "cheminot erreur train encastré autre " peut etre bon si tu fais que des "ET". Et encore, c'est qu'il faut que quelqu'un cherche un truc avec au moins 5 mots de taille > 4 lettres...


Hé non, l'analyse vaut pour un ET comme pour un OU. Avec un ET, je ne cherche pas les mots *consécutifs* (rappel) mais je veux que tous ces mots soient dans le message. Or c'est le cas, qu'on ait un ET ou un OU. Dans les deux cas, que je mette les mots de liaison ou non, ma recherche donnera le même résultat. C'est d'ailleurs pire dans le cas d'un OU avec les mots de liaisons.
avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 16/11/2007 à 12:09 Membre depuis le 07/04/2004, 2088 messages
Je suis ok que la pertinence == entropie.. L'étude de l'importance des petits mots est bcp plus compliqué que ce que ça en a l'air j'ai l'impression sad C'est pas une reproche, mais cherchons ensemble. En tout cas, le système actuel n'est pas bon. Parce que concretement... je tape "un bon sac de voyage", ca me renvoi des posts qui parlent de "voyage voyage" tritop (alors que ces posts là ne contiennent pas forcément "un" ni "bon".
Posté le 16/11/2007 à 12:14 Membre depuis le 21/10/2001, 6619 messages
ben ajoute des mots, genre des marques (decathlon, lafuma...), des mots genre "volume"...
avatarIl n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
Posté le 16/11/2007 à 14:13 Membre depuis le 07/04/2004, 2088 messages
ouais... super :s
Posté le 17/11/2007 à 21:10 Membre depuis le 13/06/2001, 73057 messages
Ca ne sert absolument à rien de prendre le "un", parce que tu peux très bien avoir le cas suivant (et ça sera retrouvé même avec un "ET") :
"un cheminot a trouvé le bon sac de voyage"
et
"le cheminot a trouvé un bon sac de voyage"
le "un" n'a absolument aucune valeur de pertinence (trop fréquent -> pas pertinent...), sauf à travailler aussi sur la proximité des expressions, mais là il faut avoir autre chose qu'une base MySql et un petit serveur mutualisé.
avatar
Posté le 18/11/2007 à 00:17 Membre depuis le 07/04/2004, 2088 messages
JE tape "arbre" et login: "onur", ca me trouve pas ca: topics/66073-dessiner-un-arbre-n-aire
Posté le 18/11/2007 à 00:37 Membre depuis le 11/11/2001, 116511 messages
ça doit être lié au fait qu'il s'agisse de «l'arbre» et non «arbre» tout seul
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca
Posté le 18/11/2007 à 03:07 Membre depuis le 07/04/2004, 2088 messages
jour après jour, je trouve des failles à la solution de laisser faire par mysql... Je vais finir par arreter d'en trouver = arreter d'utiliser la recherche (comme les utilisateurs l'ont déjà fait visiblement)
Posté le 18/11/2007 à 03:15 Membre depuis le 13/06/2002, 42695 messages
onur (./176) :
(comme les utilisateurs l'ont déjà fait visiblement)

tu te bases sur quoi pour dire ça ?

en tout cas tu râles décidément beaucoup pour quelqu'un qui est arrivé avec un "laissez faire les pro", qui a proposé l'une des solutions les plus naïves qu'on puisse trouver, et qui est en plus totalement impossible à mettre en oeuvre sur yN compte tenu des ressources démesurées qu'elle demande...
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)
Posté le 18/11/2007 à 12:26 Membre depuis le 13/06/2001, 10727 messages
Le fait que le post d'onur ne soit pas trouvé est normal vu que je n'ai indexé que les posts de 2007, comme indiqué dans ce sujet. Rien a voir avec le moteur donc ...
avatarWebmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)
Posté le 18/11/2007 à 12:27 Membre depuis le 11/11/2001, 116511 messages
ok

sinon niveau perf, faudrait migrer yn sur the famous greatest beowulf cluster et la solution de onur pourrait mettre moins d'une minute par recherche
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca
Posté le 18/11/2007 à 13:38 Membre depuis le 07/04/2004, 2088 messages
Zephyr (./177) :
tu te bases sur quoi pour dire ça ?


Je me base sur GUNNM qui dit qu'il n'utilise plus, et ca m'étonnerait pas que ca soit le cas de plein de gens qui viennent même pas débattre dans ce topic parce qu'ils auraient abandonné l'espoir d'avoir un moteur de recherche convenable après les dizaines d'essais foireux qui ont précédé...

./179 > Un kimsufi comme l'a suggeré fpgforce serait suffisant. Même sur un mutualisé on peut arriver à quelque chose de mieux que "je fais tout faire à mysql, de toute facon on a toujours fait comme ca, ca sert à rien de chercher". Réfléchissons ensemble! J'étais content qu'on commence à débattre de l'utilité des petits mots par exemple. Au moins, y avait des démonstrations mathématiques, on parlait un peu plus algo que quand on dit "ca prendra trop de place".

On utilise pas "la super solution d'Onur" car on n'a rien de mieux, mais on peut dire la même chose pour la "solution de yaro" qui consiste à laisser faire mysql. Alors ce genre de remarque n'a pas sa place.