9
votes

SQL Server Full-Text-Search FreeTextTable Rechercher plusieurs colonnes

J'utilise la requête ci-dessous pour retourner les résultats d'une table à l'aide de la recherche de texte intégral. Dans SQL2000, il n'était possible que de rechercher une ou toutes les colonnes d'une table. Est-il possible dans SQL 2008?

J'aimerais rechercher deux tables, problèmes et solution (à la fois indexés et dans la même table): xxx

de ce que je peux Voir la FreeTexttable n'accepte pas plus d'une colonne?


0 commentaires

3 Réponses :


19
votes

vous les spécifiez entre parenthèses; FreeTexttable (Nom, (Col1, Col2, Col3), 'Expr') Ou utilisez un astérisque pour sauquer toutes les colonnes de l'index.


2 commentaires

L'astérisque n'a-t-il pas blessé à la performance, s'il est utilisé sans discrétion?


Oui en effet, s'il y a une colonne dans l'indice que vous ne vous souciez pas.



1
votes

de MSDN ,

retourne un Tableau de zéro, une ou plusieurs lignes pour ces colonnes contenant des types de données basés sur des caractères pour les valeurs correspondant à la signification, mais pas le libellé exact, du texte dans la FreeTextexT_string spécifié. FreeTextTable ne peut être référencé que dans la clause de la clause d'une instruction SELECT comme un nom de table normal. Queries Utilisation de FreeTextTable Spécifiez les requêtes de texte intégral de type FreeText qui renvoient une valeur de classement de pertinence (rang) et une clé de texte intégral (touche) pour chaque ligne.

Ils donnent la syntaxe suivante: < / p> xxx

donc oui, que Alex K. a également dit.


0 commentaires

0
votes

Si vous avez créé un index Fulltext sur différentes colonnes, vous pouvez utiliser une simple utilisation contenant ou FreeText pour examiner l'un d'entre eux, tous, ou certains d'entre eux. Comme ceci: xxx

Si vous souhaitez spécifier les colonnes que vous souhaitez rechercher. Si vous avez besoin des résultats dans une colonne une colonne, vous devez faire un syndicat et effectuer une recherche de chaque colonne que vous souhaitez rechercher. xxx


2 commentaires

Comment ferais-je que je n'ai besoin que d'une partie du mot, mais je vais toujours afficher le mot complet? Comme si la valeur de recherche est Curt , le résultat de la recherche serait Rideau, Curtis, Curtis ...


@Rich vous mettriez "" Curt * "'dans le @searchterm - * sont des caractères génériques, mais ils doivent être en double-qoutes et vous ne pouvez faire que cela ne contient pas de freeext