[Linux] moteur de recherche

daniels daniels@::1
Mer 14 Nov 14:44:12 CET 2007


Jonathan ROTH a écrit :
> daniels a écrit :
>> Bonjour,
>>
>>
>> Je réaliser un moteur de recherche sur une base de données 
>> d'entreprises de 6 000 000 d'entrées 9 tables.
>>
>> J'ai crée des index fultext pour 6 tables, lors d'une recherche sur 1 
>> mot j'ai un résultat de recherche d'environ 0,11 secondes par contre 
>> si je passe à 2 mots le temps de recherche passent à plus de 30.0 
>> secondes un temps nom acceptable pour une recherche.
>>
>> Enseigne,adresse,cp,ville,activité,nom
>>
>>
>> Avez vous une solution, même si je doit changer de system.
>
> 1. MySQL (je suppose) réplique toute la base de données en mémoire 
> pour chaque client connecté, à 100 octets par entrée, ta base fait 
> 600Mo, vérifier que la mémoire vive du système est suffisante.
>
> 2. Les jonctions de tables sont lourdes, surtout sur des grosses BdD, 
> et encore plus si c'est mal fait...
>
> 3. Lorsqu'on fait une sélection, il faut prendre l'habitude d'ordonner 
> les champs, en premier ceux qui donneront le moins de résultats.
>
> 4. Pour rechercher 2 mots, tu peux soit utiliser le SGBD (SELECT WHERE 
> a = b AND b=d), ou soit chercher 1 mot, puis chercher 1 mot dans les 
> résultats. La deuxieme solution est plus lourde et moins propre, mais 
> sur des bases de données énormes celà peut être une alternative 
> acceptable.
>
Re,

Oui Mysql, la base fait  environ 600mo + l'index fulltext  on arrive à 
12151Mo


Plus d'informations sur la liste de diffusion linux