2011-06-02 3 views
1

J'ai un TableA comme indiqué ci-dessous dans laquelle un index de texte intégral est spécifié pour la colonne NameSQL Server 2008 numéro d'index texte intégral

TableA

Id (PK) 
Name (TXI) 

Le tableau présente les enregistrements suivants J'ai ensuite exécuté la requête suivante sur la table:

SELECT * FROM TableA WHERE CONTAINS(Name,'"n*"'); 

Le résultat de la requête est la suivante:

Id   Name 
1   ingrid 
2   neville 
3   ned 

Pourquoi le renvoyer le premier enregistrement, même si elle ne commence par « n »?

+0

Si vous publiez code, XML ou des échantillons de données, ** S'il vous plaît ** mettre en évidence les lignes dans l'éditeur de texte et cliquez sur le bouton "échantillons de code" ('{}') dans la barre d'outils de l'éditeur pour bien le mettre en forme et la mettre en évidence! –

Répondre

0

Essayez:

SELECT * FROM TableA WHERE CONTAINS(Name,'n*'); 
+0

Faire cela ne me donnera aucun enregistrement – Luis

0

Il est possible que votre index de texte intégral est obsolète. La reconstruction corrige-t-elle votre problème?

0

En suivant l'essai de suggestion Jim B de mettre à jour votre catalogue par:

ALTER FULLTEXT CATALOG TableA REORGANIZE 

puis

SELECT * FROM TableA WHERE CONTAINS(Name,'"n*"'); 

Une autre astuce: Le but de texte intégral est la recherche de mots dans un texte donc je ne sais pas si vous testez le texte intégral, mais pour obtenir ce que vous cherchez, ils sont la bonne façon est l'opérateur LIKE as:

SELECT * FROM TableA WHERE Name LIKE 'n%'; 
0

Votre requête fonctionne pour moi ....:

TRUNCATE TABLE FTS_Demo_2 

INSERT FTS_Demo_2 (Document) VALUES ('ingrid') 
INSERT FTS_Demo_2 (Document) VALUES ('neville') 
INSERT FTS_Demo_2 (Document) VALUES ('ned') 
INSERT FTS_Demo_2 (Document) VALUES ('audry') 
INSERT FTS_Demo_2 (Document) VALUES ('inga') 

/* WAIT FOR AUTO POPULATION TO POPULATE */ 

SELECT * FROM FTS_Demo_2 WHERE CONTAINS (Document, '"n*"') 

Résultats:

RecordID Document 
----------- -------------------- 
2   neville 
3   ned 

(2 row(s) affected) 

Peut-être un problème avec votre index FTS ou catalogue? Quels sont vos types de colonnes? J'ai fait la colonne dans cet exemple NVARCHAR (MAX), et voici les propriétés du catalogue:

enter image description here

Questions connexes