Moteur de recherches dans une base de connaissances

Moteur de recherches dans une base de connaissances - Algo - Programmation

Marsh Posté le 13-04-2007 à 16:47:50    

Bonjour,
 
Je cherche à créer un moteur de recherche pour notre base de connaissance, j'aimerais un systeme qui me donne les résultats les plus probant en premier mais qui ne soit pas trop lent non plus.
 
Je pensait faire appel à une requete sql dans ma DB avec des LIKE '%mot1%' OR LIKE '%mot2%' ... puis ensuite un système de points pour mes résultats. Pour ce je comptait chercher les occurence des "mots" dans mes titres et sujet trouvés par la requete précédente.
 
Pour les points, j'attibuerais par exemple 10 point par mots se trouveant dans le sujet 1 point pour un mot se trouvant dans le texte. De plus je pourrait par exemple doubler mon total si l'on a trouver 2 des mots rechercher dans l'ensemble sujet+texte, tripler si on en trouve 3, ...
 
Donc par exemple si je cherche les 3 mots paf, bla et bli dans le texte suivant:
sujet: paf xxxxxxx xxxx xxxxxxxxxx                  -> 10 points
texte: xxxxxxx bla xxxxxxx bla xxxxxxxxx paf     -> 2+1 points  
Donc un total de 10+2+1= 13    * 2 vu que l'on a trouver 2 mots parmis ceux demandés donc total final = 26
 
Est ce que ca vous parrait bien comme système? Avez vous des suggestion ou des remarques? Avez vous déja implémenter un système resemblant à ceci ou en tout cas répondant au mêmes demandes? Une manière plus optimisée pour les recherches SQL?
 
D'avance merci
 
Ben


Message édité par the big ben le 13-04-2007 à 16:48:29
Reply

Marsh Posté le 13-04-2007 à 16:47:50   

Reply

Marsh Posté le 16-04-2007 à 08:54:44    

c'est calme le weekend.... tres calme....

Reply

Marsh Posté le 16-04-2007 à 09:47:55    

tu as un moteur de recherche sympa ( libre ) qui peut te servir de base : lucene ( perso ,j'utilise lucene + solr , qui me permet d'aceder a lucen via des post et des get :d )

 

ensuite, tu pondère , lors de la recherche les champs ( la ponsération se fait dans un fochier de conf XML ) .

 

Ca te fera une bonne base, en t'evitant une part du boulot longue et chiante ( optimisation pour avoir des perfs suffisante ) et en te concentrant sur l'essentiel : le choix de la pondération

 

parceque les essais que j'avais fait avec une base mysql n'etaient pas concluant au niveau des perfs , surtout quand l'index a pas mal grandi


Message édité par flo850 le 16-04-2007 à 09:48:54
Reply

Marsh Posté le 16-04-2007 à 11:15:56    

On travail sur MsSql!
 
Merci je vais déja jetter un oeil sur lucene

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed