Я использую Microsoft SQL Server 2008. Я не специалист по этому вопросу, но я создал полнотекстовый индекс и писал несколько запросов.
Он работает без ошибок и возвращает некоторые результаты., но строки, которые, как я знаю, должны совпадать, не всегда включаются.
Есть ли способ проверить или проверить индекс?Я заходил несколько раз и «заново заполнил индекс», так что я почти уверен, что это правильно.Но что вы делаете, когда вы, кажется, не получаете правильных результатов.
Мой запрос довольно сложный, но вот он, если кто-то думает, что это проблема:
DECLARE @StartRow int;
DECLARE @MaxRows int;
SET @StartRow = 1;
SET @MaxRows = 10;
WITH ArtTemp AS
(SELECT TOP (@StartRow + @MaxRows) ROW_NUMBER() OVER (ORDER BY ArtViews DESC) AS RowID,
Article.ArtID,Article.ArtTitle,Article.ArtSlug,Category.CatID,Category.CatTitle,
Article.ArtDescription,Article.ArtCreated,Article.ArtUpdated,Article.ArtUserID,
[User].UsrDisplayName AS UserName
FROM Article
INNER JOIN Subcategory ON Article.ArtSubcategoryID = Subcategory.SubID
INNER JOIN Category ON Subcategory.SubCatID = Category.CatID
INNER JOIN [User] ON Article.ArtUserID = [User].UsrID
WHERE CONTAINS(Article.*,'FORMSOF(INFLECTIONAL,"HTML")'))
SELECT ArtID,ArtTitle,ArtSlug,CatID,CatTitle,ArtDescription,ArtCreated,
ArtUpdated,ArtUserID,UserName
FROM ArtTemp
WHERE RowID BETWEEN @StartRow + 1 AND (@StartRow + @MaxRows)
ORDER BY RowID
Взапрос выше, строки возвращаются.Однако, по крайней мере, одна строка, в которой я знаю, что она содержит слово «HTML», не включена.
Какие-либо советы по устранению неполадок?