Bonjour à tous,

Voilà je réalise en ce moment un petit cms et je voudrais également générer un nuages de tags sur la base du contenu des articles saisies.

Je travaille avec Postgresql.
J'ai pensé faire la chose avec Lucene en indexant le contenu de ma table article, et ensuite en récupérant la liste des tokens les plus fréquents (poids).

Mais ayant parcouru un peu la doc de Postgresql sur la recherche plein texte (FTS), je me dis qu'il est peut être possible de gérer entièrement avec Postgresql sans avoir de conséquences sur la performance.

Je me demande donc quelle est la bonne démarche à suivre pour gérer cela vec Postgresql de A à Z.
Si j'indexe le contenu de mon champs "article" (qui contient le corps de l'article) dans un nouveau champs de type ts_vector, j'obtiens les lexemes associés à mon article, et seulement à un article.

Mais ensuite, que dois je faire pour produire ma liste de token/lexeme global sur tous mes articles, avec les poids (ou fréquences) associés ?

Dois je avoir recours à une autre table ? Puis entièrement me reposer sur mon champs de type ts_vector dont je parle ci-dessus et qui "lexemise" le corps de mon article ?

N'y a t'il pas une fonction ou un mécanisme postgresql qui me permet d'avoir ma liste global de lexemes (à l'image de Lucene qui dispose d'une méthode pour avoir la liste global des tokens de l'index) ?

Et si oui, pensez vous que cela ait un coût sur les performances ?
Je me disais que si une méthode ou requête existait, il vaudrait peut être mieux produire un fichier xml des lexemes (par une espèce de batch par exemple, toutes les nuits) plutôt que de faire à chaque fois une requête sql à chaque chargement de page (sachant que le nuages de tag serait affiché éventuellement sur chaque page web du site) ?

Par avance, merci pour votre aide