60

./58 : bah non, lui il fait sujet => mot, moi je propose mot => sujet. Maintenant j'en sais rien niveau place, mais la recherche serait probablement plus rapide, vu qu'au lieu de chercher une occurrence d'un mot dans une liste de mots, tu cherches un mot dans un index de mots. Non ?

Pour la place, je pense que l'index aurait tout au plus 2000 entrées (enlever les #smileys# au passage comme tu l'as déjà fait apparemment), ça ne me semble pas *énorme* (diviser également par ordre alphabétique pour accélérer encore l'engin pourrait gagner en vitesse).
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

61

kim, la version précédente du moteur était comme ca .... et g du la virer ^^ (j'avais meme fais un hashcode comme ca j'avais qu'a chercher dans des int => + rapide)

le pb vient de +eurs choses : si tu cherche 2 mots => faut soit faire un OR (=> performances BLAM), soit une autre requete avec UNION par ex (=> perfs RE-BLAM).

Et en séparant par ordre alpha .... si +eurs mots chercher dans +eurs tables ? bof smile

'fin si tu veux on en rediscute ce soir ^^
avatar
Webmaster 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 =)

62

bah, on cherche jamais deux mots... si ? cheeky
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

63

si, dans 50% des cas
avatar
Webmaster 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 =)

64

et tu veux pas publier la base de données sujet=>mots, histoire qu'on puisse voir quel type d'algo serait applicable ou pas ? évidemment tu peux appliquer un hash aussi bien au contenu des mots qu'au nom du sujet, pour pas qu'on puisse retrouver le contenu des forums privés smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

65

t marrant toi ... appliquer un algo cheeky

mais si tu veux t'amuser :
`id` int(10) unsigned NOT NULL default '0',
`forum` mediumint(10) NOT NULL default '0',
`date` int(11) unsigned NOT NULL default '0',
`full` tinyint(1) unsigned NOT NULL default '0', `keywords` text NOT NULL,


fala ^^
avatar
Webmaster 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 =)

66

nan mais ca les en-tetes des colonnes ca permet pas de savoir si une méthode est viable triso
tout dépend de la distribution des mots dans les sujets... et ca ca peut se savoir qu'en ayant acces au contenu de la table...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

67

yAro> Pourquoi tu te braques dès que Pollux propose une ingénieuse suggestion ?
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. »

68

m'est avis qu'elle doit etre grosse la table
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

69

Pollux :
nan mais ca les en-tetes des colonnes ca permet pas de savoir si une méthode est viable triso
tout dépend de la distribution des mots dans les sujets... et ca ca peut se savoir qu'en ayant acces au contenu de la table...


bah qu'est ce que tu veux de plus ? neutral tu prend tous les mots (de + de 3car) uniques d'un sujet et tu les met à la suite dans keywords... jpeux pas te donner la table elle fait +eurs mégas !!
Sasume :
yAro> Pourquoi tu te braques dès que Pollux propose une ingénieuse suggestion ?


en quoi je me braque ???
avatar
Webmaster 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 =)

70

Tiens si tu veux un exemple :

32710 1035 1074892382 0 j\'arrive déplacer l\'autre topic confus marque erreur anniversaire hippopotame kado gato edit smiley cite fait j\'ai liste catégories lesquelles peux enfin c\'est très grave maintenant deux topics tout encore telchar aussi bisoo mici calin cado chapo sorr0w ignare sorrow incapable faire kado\ comme faut ch\'uis bourre naniv merci mais t\'es avance dans jours partie forum post sujet zavez passer demandait gentillement preter bonne idée longtemps qu\'il n\'est passé normal piégé obligé travailler o2os trouvé trainait terre allant chez konci serait-ce tiens l\'ai recupéré sinon prêter attendant commence m\'arriver drôles choses pourrait être pire transformer petite rivière persone veut tant vince parle malheur
avatar
Webmaster 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 =)

71

yAro :
jpeux pas te donner la table elle fait +eurs mégas !!

ah ok smile mais ca devrait etre uploadable sur databob ou autre si ca fait pas 150 Mo, non ?
parce que soit il faut faire des tests sur un nombre limité de sujets -> résultats tres différents, soit il faudrait te bouffer 10x plus de bande passante pour aspirer un nombre suffisant de sujets...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

72

T'as qu'a dédoubler 10 000x ce que je t'ai donné, ca suffira smile
avatar
Webmaster 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 =)

73

ben non, justement, ca aurait pas du tout les memes propriétés ^^ (rien que le nombre total de mots distincts triso)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

74

D'ailleurs, ce nombre total de mots distincts pourrait etre divise par au moins 10 ou 20 si l'orthographe de certains n'etait pas si deplorable neutral ...
Premiere idee : virer les accents au moment de l'enregistrement des keywords et sur les mots cherches (comme le fait Google par exemple), ca permet en plus aux utilisateurs de QWERTYs comme moi de faire des recherches sur des mots normalement accentues.
Seconde idee (beaucoup plus dure a mettre en oeuvre, et en plus l'envoi d'un post va bouffer du temps et des ressources) : alleger le champ keywords en utilisant un dictionnaire et en n'enregistrant pas les mots absents du dictionnaire.
Ce dictionnaire devra contenir le plus possible de mots francais (avec tous les accords), anglais et esperanto, ainsi que la liste complete des membres et du vocabulaire courant sur yN mais pas dans un dictionnaire classique (je pense en particulier aux noms de fonctions informatiques qui sont des concatenations de mots anglais, comme nostub (ca s'ecrit bien comme ca ?) ou romcall (idem)).
Mais bon, je ne pense pas que cette seconde idee soit viable ...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

75

alleger le champ keywords en utilisant un dictionnaire et en n'enregistrant pas les mots absents du dictionnaire.
Ce dictionnaire devra contenir le plus possible de mots francais (avec tous les accords), anglais et esperanto, ainsi que la liste complete des membres et du vocabulaire courant sur yN mais pas dans un dictionnaire classique (je pense en particulier aux noms de fonctions informatiques qui sont des concatenations de mots anglais, comme nostub (ca s'ecrit bien comme ca ?) ou romcall (idem)).
Mais bon, je ne pense pas que cette seconde idee soit viable ...

Donc si demain je lance le projet StroShblup personne ne pourra trouver les postes qui en parle, vu que le mot serra ignoré, spa top quand meme tu pense aps ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

76

C'est bien pour ca que j'ai dit que ce n'etait pas viable ...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

77

je pense qu'avec la méthode actuelle de yaro ce qui ralentit c'est pas tellement les mots rares (meme si ca prend de la place dans la BDD, c'est pas gravissime), c'est plutot les mots fréquents quand on en recherche plusieurs a la fois... je me trompe ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

78

De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...
Sinon, pourquoi ne pas travailler avec une table en RAM ?
En fait, tu mets à jour une table à chaque validation de post, et une fois (ou deux, ou plus) par jour, tu copies cette table dans une table en mémoire, beaucoup plus rapide d'accès (donc sur laquelle tu peux faire beaucoup de traitements).
Bon, je n'ai pas pensé à un truc, c'est que la taille de cette table doit être énorme, donc doit prendre à elle seule toute la RAM du serveur sorry.
avatar

79

je suis assez daccord, pour l'accentuation e meme que pour les mots apostrophés.
Et le dico, n'est pas si bete que ca non plus, si les utilisateurs peuvent le modifier

80

Nil :
De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...
Sinon, pourquoi ne pas travailler avec une table en RAM ?
En fait, tu mets à jour une table à chaque validation de post, et une fois (ou deux, ou plus) par jour, tu copies cette table dans une table en mémoire, beaucoup plus rapide d'accès (donc sur laquelle tu peux faire beaucoup de traitements).
Bon, je n'ai pas pensé à un truc, c'est que la taille de cette table doit être énorme, donc doit prendre à elle seule toute la RAM du serveur sorry.

le pbm c'est que tu peut pas dire a MySQL de mettre spécialement une table en RAM, et je suis pas sur que ça change gd chose... (les requetes SQL sont généralement fait pour etre rapide, tres rapide)

Sinon pour le dico, je trouve sa completement idiot, antievolutif et completement absurde d'un point de vu utilisateur.. je vois tres mal le site me dire "ha je connais pas 'schmilblick' veux tu l'ajouter dans mon dico ?"

c'est absurde en plusieurs points :
1 -> ça rajoute un traitement assez inutile et ralentissant du coté du serveur
2 -> ça me fait chier moi pasque j'ai autre chose a faire
3 -> 99.9999% des users vont ajouter tout les mots qu'il vont rencontrer dans de tel cas, donc ça pert tout son interet

bref
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

81

le pbm c'est que tu peut pas dire a MySQL de mettre spécialement une table en RAM, et je suis pas sur que ça change gd chose... (les requetes SQL sont généralement fait pour etre rapide, tres rapide)

Si, il y a un format de table (heap, si je ne m'abuse) qui est en RAM, et c'est très utilisé.
avatar

82

Hum, faudra que je revise mon MySQL book alors cheeky
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

83

Nil
: De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...

huh trifus
depuis qd pour vérifier qu'un mot appartient a un ensemble il faut regarder tous les éléments un par un trifus
Sinon, pourquoi ne pas travailler avec une table en RAM ?

en principe un cache est fait pour que ca soit fait de maniere transparente ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

84

Pollux :
je pense qu'avec la méthode actuelle de yaro ce qui ralentit c'est pas tellement les mots rares (meme si ca prend de la place dans la BDD, c'est pas gravissime), c'est plutot les mots fréquents quand on en recherche plusieurs a la fois... je me trompe ?


ce qui ralentit c la taille de la bdd surtt !

Nil :
De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...
Sinon, pourquoi ne pas travailler avec une table en RAM ?
En fait, tu mets à jour une table à chaque validation de post, et une fois (ou deux, ou plus) par jour, tu copies cette table dans une table en mémoire, beaucoup plus rapide d'accès (donc sur laquelle tu peux faire beaucoup de traitements).
Bon, je n'ai pas pensé à un truc, c'est que la taille de cette table doit être énorme, donc doit prendre à elle seule toute la RAM du serveur sorry.

+ de 50Mo en ram .... euh .. vont pas apprécier chez infomaniak grin
Godzil :
le pbm c'est que tu peut pas dire a MySQL de mettre spécialement une table en RAM, et je suis pas sur que ça change gd chose... (les requetes SQL sont généralement fait pour etre rapide, tres rapide)

si c les tables HEAP ^^

Pollux
:
Nil
: De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...

huh trifus
depuis qd pour vérifier qu'un mot appartient a un ensemble il faut regarder tous les éléments un par un trifus

depuis que MySQL n'utilise pas d'index qd on cherche avec la commande LIKE smile => ca parcourt TOUT !
avatar
Webmaster 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 =)

85

depuis qd pour vérifier qu'un mot appartient a un ensemble il faut regarder tous les éléments un par un

Ben... si tu n'as ps d'index, tant que tu n'as pas vérifié l'intégralité des mots, tu es obligé de tout parcourir (vu que si je ne m'abuse, yNSearch surligne toutes les occurences trouvées).
avatar

86

yAro
:
Pollux
:
Nil
: De toutes façons, mot rare ou fréquent, l'intégralité de la table doit être parcourue, donc bon...

huh trifus
depuis qd pour vérifier qu'un mot appartient a un ensemble il faut regarder tous les éléments un par un trifus

depuis que MySQL n'utilise pas d'index qd on cherche avec la commande LIKE smile => ca parcourt TOUT !

je parlais d'un point de vue théorique, pas de ton implémentation en particulier smile (et y a pas forcément besoin de restructurer completement le truc, par exemple simplement en coupant les gros sujets en 2 ou 4 selon un ordre prédéfini [par exemple en utilisant un hash] on peut ne faire la recherche que sur la portion voulue)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

87

c pas mon implémentation en particulier ... pr rechercher du txt dans du txt y'a que le LIKE (ou la recherche FULLTEXT mais c pas applicable)

et le fait de découper le topic ne servirait à rien, si le mot qu'on cherche se trouve dans la 3eme partie il faudra qd mme le trouver en passant par les 1 et 2 avant
avatar
Webmaster 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 =)

88

nan nan...

par exemple découpage en 4, si j'ai hash(nil) = 4321, hash(ours) = 1234, hash(foret) = b0b0, hash(censored) = 6969, et ben pour chaque sujet je partitionne les mots en ceux dont le hash est compris entre 0000 et 3fff (region1), 4000 et 7ffff (region2), etc...
donc pour chercher "censored", je vois qu'il est dans la region 2, donc ma requete SQL sera "sujet.region2 LIKE 6969", et sujet.region2 sera en moyenne 4x plus court que la totalité des mots (ici j'ai que 2 mots, nil et censored). et ca marche aussi si on veut rechercher plusieurs mots, sauf qu'évidemment plus on recherche de mots plus il faut examiner de régions tongue

on peut raffiner encore, puisque pour un sujet avec 3 mots ca sert a rien de couper en 4, et inversement pour un sujet avec 100000 mots il vaudrait mieux couper en plus ; pour ca, on peut regrouper les sujets par groupe de taille (éventuellement dans des tables différentes, ou simplement avec un flag en début de sujet pour indiquer le groupe voulu) : les petits sujets seront pas énormément subdivisés, alors que les gros sujets seront subdivisés plus finement.


mais bon la mon but c'est juste de montrer qu'on est pas obligé de rechercher les mots un par un, je suis sur qu'on pourrait faire bien plus subtil et efficace si on avait acces a la BDD smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

89

d'ailleurs ce serait utile de pouvoir aussi rechercher les mots de 3 lettres, y en a vraiment tant que ca ? sad

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

90

j'avais deja expérimenté ca à la version précédente du moteur de recherche, mais le pb est que :
- si 2 mots sont dans 2 tables( ou regions pr respecter tes termes), les performances s'effondrent à cause des tris à effectuer (classer par date par ex)
- chaque subdivision devrait ê une table ... si je rajoute trop de tables c le site entier qui sera pénalisé lors de l'accès à chaque table^


Ensuite le fait de + ou - subdiviser le sujet prendrait trop de tps à mon avis ... un sujet commence ac peu de mots ... et qd il arrive à 100 000 on fait quoi ? on se retape ttes les subdivisions à faire => impossible !

si tu veux jte fais une table de test avec mon index de mots dans la journée, t'aura qu'a t'amuser avec smile
avatar
Webmaster 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 =)