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): p> de ce que je peux Voir la FreeTexttable n'accepte pas plus d'une colonne? P> P>
3 Réponses :
vous les spécifiez entre parenthèses; FreeTexttable (Nom, (Col1, Col2, Col3), 'Expr') Code> Ou utilisez un astérisque pour sauquer toutes les colonnes de l'index. P>
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.
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. Em> p> Ils donnent la syntaxe suivante: < / p> donc oui, que Alex K. a également dit. p> p>
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: 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. P>
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 code>, le résultat de la recherche serait
Rideau, Curtis, Curtis ... Code>
@Rich vous mettriez "" Curt * "'dans le @searchterm code> - * 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