dimension du mot key clickstream

J'essaie actuellement de déterminer comment créer une table de dimension de mot-key. Nous suivons les visites de notre site Web et souhaitons pouvoir find les mots-keys les plus utilisés pour effectuer une search via le moteur de search du site, ainsi que les termes de search utilisés lors de la visite sur le site (prix> 100 $, critique> 4 écanvass, etc). Puisque les mots-keys sont complètement dynamics et peuvent être utilisés dans un nombre infini de combinaisons, j'ai du mal à déterminer comment stocker ces mots-keys. J'ai une table de faits de pageview qui inclut un logging chaque fois qu'une page est vue. La source que je tire de comprend tous les termes de search dans une list délimitée Je suis capable d'parsingr avec une expression régulière, je ne sais pas comment le stocker dans la database, car le nombre de mots-keys peut varier à la pageview. Je pense que cela peut être plus approprié pour une solution NOSQL qui essaye de l'entasser dans une table MSSQL, mais je ne sais pas. Toute aide est grandement appréciée!

Selon la façon dont vous voulez parsingr datatables, il y a quelques solutions.

Mais pour la quantité de données que vous parsingz probablement, je créerais juste une table qui utilise le PK du fait pour stocker chaque mot-key.

 FACT_PAGEVIEW_ID bigint -- Surrogate key of fact table. Or natural key if you don't have a surrogate. KEYWORD varchar(255) -- or whatever max len the keywords are VALUE varchar(255) 

La granularité de cette table est de 1 rangée par combinaison ID / mot-key. Vous devrez peut-être append de la valeur si vous autorisez le même mot key plusieurs fois dans une string de requête.

Cela vous permet de regrouper les mots-keys par page vue, ou commencer avec le fait pageview, filterz-le, puis joignez-vous à cela pour identifier les mots-keys.

L'autre option serait une dimension de mot-key et une table de bridge avec un "groupe de mots-keys", mais comme n'importe quel nombre de combinaisons peut être utilisé, c'est probablement le moyen le plus rapide et vous obtiendrez probablement 90% du path. La plupart des questions, telles que "quelle combinaison de mots-keys est utilisée le plus fréquemment" et "quels mots-keys sont les plus utilisés par les 10% de la base d'users" peuvent être résolues avec cette structure.