Bonjour,

je suis entrain de faire un moteur de recherche pour un site comprenant des "articles" stockés en base de donné.

Mon idée, largement inspiré de http://www.spip.net/fr_article1575.html et de ce que j'ai trouvé sur le forum est d'indexer mes articles avec tous les mots qui ne sont pas dans la liste des mots noirs située ici : http://sqlpro.developpez.com/cours/indextextuelle/

L'index n'enregistrera pas les mots clés mais le "hash" du groupe de synonymes correspondant dans une table appelée keyWordHash.
Par exemple, les mots clés froid, glacial, seront enregistrés au sein du meme hash
Cette table enregistrera la correspondance entre chaque hash et le lieu ou a été trouvé ce mot clé.
On a alors keyWordHash : hash (varchar), articleId (enum)
avec articleId (enum) : une énumération de tous les id des articles.

Lors du l'indexation, la corresppondance entre le mot clé rencontré et le hash correspondant se ferait via une autre table : table : keyWord, hash.
Il est alors normal que plusieurs mots (keyWord) correspondent au même hash : ce seront des mots synonymes.

Mon problème est que j'aimerais ajouter le poid de l'article par rapport aux mots clés représentés par le hash. Il faudrait alors une énumération de couples (article, poid).

Mon second problème est de trouver un dictionnaire de synonymes libre.

Merci pour vos suggestions.