J'ai ajouté la recherche plein texte à ma base de données SQL Server 2008 Express et j'ai créé un catalogue d'index pour deux colonnes dans une seule table. Alors maintenant, je dois réécrire une de mes procédures stockées mais je n'ai aucune idée par où commencer. Ce qui suit est mon courant SP que je dois convertir en tirer profit de la recherche en texte intégral Capacité:Requête de recherche FullText SQL Server 2008
ALTER PROCEDURE [dbo].[sp_page_GetPostsBySearchFront]
(
@Title nvarchar(256),
@Content nvarchar(MAX),
@startRowIndex INT,
@maximumRows INT
)
AS
BEGIN
SELECT
RowNumber,
postId,
Title,
Content,
DateCreated,
IsPublished,
PublishOnDate,
Type,
MenuName
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY posts.postId DESC) AS RowNumber,
posts.postId,
posts.Title,
posts.Content,
posts.DateCreated,
posts.IsPublished,
posts.PublishOnDate,
posts.Type,
posts.MenuName
FROM posts
GROUP BY
posts.postId,
posts.Title,
posts.Content,
posts.DateCreated,
posts.IsPublished,
posts.PublishOnDate,
posts.Type,
posts.MenuName
HAVING (posts.Title LIKE N'%' + @Title + N'%')
OR (posts.Content LIKE N'%' + @Content + N'%')
AND (posts.IsPublished = 1)
AND (posts.PublishOnDate <= GETDATE())
) as u
WHERE u.RowNumber > @startRowIndex
AND u.RowNumber <= (@startRowIndex + @maximumRows)
END
pourrait-on expliquer un peu comment je m'y accomplir cette tâche? Dois-je utiliser CONTAINS ou FREETEXT et où dois-je l'ajouter? Je suis juste perdu sur ça? Je vous remercie!
Pourquoi groupez-vous tous ces articles? –
Vous devez modifier les prédicats qui contiennent des instructions 'like' et y inclure' contains' si vous voulez profiter des requêtes accélérées et vous pouvez laisser ces instructions 'like' en place au cas où vous voudriez plus de précision résultats. –