Je commence mon incursion dans la recherche de texte intégral pour MSSQL2005. Ceci est une nouvelle base de données in-dev, donc je peux singe avec elle. Disons que j'ai une table "Form" qui a une relation un-à-plusieurs à deux autres tables, "Answer" et "Comment". Je souhaite que l'utilisateur puisse entrer un terme de recherche et qu'il le rattache à chacune des trois tables via la recherche de texte intégral. Quelle est la meilleure façon? Il semble que je puisse créer un indexed view pour accélérer les choses.MSSQL 2005 Configuration de la recherche de texte intégral
Si j'utilise une vue indexée (est-ce le meilleur itinéraire de toute façon?), Comment gérer les relations un-à-plusieurs? Supposons que tout ce que je veux vraiment comprendre est l'ID de la table "Form" qui contiendrait tous les résultats de recherche trouvés dans les tables de réponse/commentaire de l'enfant, donc je peux montrer le formulaire entier qui contient les entrées localisées. Une jointure interne sur la vue entraînerait le retour de plusieurs lignes de formulaire «maître», ce qui ne semble pas très bien pour les performances. Que diriez-vous de concaténer toutes les lignes de réponse/commentaire enfant dans une "colonne" pour la vue? Ainsi, au lieu de ....
Form 1, Answer A, Comment A
Form 1, Answer B, Comment A
Form 1, Answer A, Comment B
Form 1, Answer B, Comment B
... ce serait ...
Form 1, Answer A Answer B, Comment A Comment B
Rappelez-vous tout ce que je me soucie de l'ID est de la ligne que maître "forme".
Cela me semble logique, mais je ne suis pas encore sûr des bonnes pratiques concernant la recherche de texte intégral, donc je suis curieux de savoir si je l'approche correctement.
MISE À JOUR: On dirait que les vues indexées sont assez strictes; pas de jointures à gauche, pas de sous-requêtes, donc je pourrais aller dans le chemin d'une table de résumé peuplée de déclencheurs si ça ne va pas être trop lourd.
Je pense peut-être que je souffre d'un cas d'optimisation prématurée, donc je pense que je vais courir avec les choses simples comme ça d'abord et voir où cela me mène. – Chris