Activer la Recherche de Texte Intégral sur Vue avec Inner Join
Je suis en cours d'exécution de Sql Server 2008 R2 et j'ai besoin d'activer la recherche de Texte Intégral sur une vue avec une jointure interne. Mon problème est que je ne sais pas comment créer mon Index de Texte Intégral.
Lorsque j'utilise l'Assistant Indexation de Texte Intégral, j'obtiens cette erreur.
Une unique colonne doit être définie sur cette table/view.
Pour que vous compreniez mieux mon problème, consultez l'exemple suivant de w3school http://www.w3schools.com/sql/sql_join_inner.asp La dernière sélection est juste mon point de vue.
PersonOrderView - View
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName <- Order by is not important for me
Persons - Table
P_Id (PK, int, not null)
LastName(nvarchar(50), null)
FirstName(nvarchar(50), null)
Address(nvarchar(50), null)
City(nvarchar(50), null)
Orders - Table
O_Id(PK, int, not null)
P_Id(FK, int, not null)
OrderNo(nvarchar(50), not null)
OriginalL'auteur gulbaek | 2011-12-13
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez créer un index de texte intégral sur un la vue indexée, c'est pourquoi vous obtenez l'erreur. Pour créer une recherche plein-texte sur une table ou une vue, elle doit avoir une colonne unique, non nullable index.
En d'autres termes, vous devez créer votre vue quelque chose comme ceci:
SQL de recherche de texte intégral construit un index de texte intégral par le biais d'un processus appelé la population, qui remplit l'index avec les mots et les lieux dans lesquels ils se produisent dans vos tables et de lignes. C'est pourquoi vous avez besoin d'un champ qui permettra de vous identifier de manière unique chaque ligne et c'est pourquoi vous avez besoin pour faire de la vue indexée.
Plus d'informations ici et ici.
J'ai ajouté un exemple, mais je vous suggère fortement de lire les articles dans les liens. Le premier lien explique comment la recherche de texte intégral d'œuvres et le second est un guide sur la façon de créer un fts à l'encontre de plusieurs tables.
vous pouvez également trouver des informations utiles sur la façon de créer un index de texte intégral ici: msdn.microsoft.com/en-us/library/ms187317.aspx
Si la personne a plusieurs commandes, je ne serais pas la personne ID apparaissent dans la vue plusieurs fois et, par conséquent, de ne plus être unique? Ou avez-vous seulement dire qu'il doit être unique dans le tableau il est venu?
OriginalL'auteur TheBoyan