Question

J'utilise CONTAINSTABLE pour rechercher deux colonnes de table. Une fois la recherche contient de petits mots comme « le » « pour » « a » la recherche renvoie pas de résultats même quand ils sont réellement présentes dans la colonne.

Exemple rapide. Colonne recherchée contient le texte. « Le système doit être mis à jour »

Après les retours SQL 0 lignes

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "to" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "to" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

Une fois 'à' est omis, il fonctionne très bien:

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

Comment peut-CONTAINSTABLE être utilisé avec ces petits mots, ou devraient-ils être laissés complètement? Si ces petits mots sont réellement significatifs dans la recherche, comment peuvent-ils être inclus dans la recherche?

Était-ce utile?

La solution

Ce ne sont pas des « petits mots », ce sont des mots qui sont sur la liste d'arrêt. Ils sont ignorés.

Voir et Stoplists mots vides sur BOL.

Autres conseils

S'il vous plaît voir la fin de ma réponse sur la création et la coutume engageante en texte intégral à partir de sTOPLIST vide. J'ai vérifié et avec un vide vos travaux de requête avec « à », « être », « le », « pour », etc.

Mise à jour:

SQL Server 2005 devrait avoir MSSQL \ FTData \ noiseENG.txt.
Je vous recommande de voir les réponses à la question « Les mots de bruit dans Sql server 2005 texte complet Recherche "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top