I have a table which has various columns and 2 of them are for full-text search:
- file_data as varbinary(max)
- file_extension as nvarchar(8))
I also have a unique index on the table. I then created a catalog as follows:
CREATE FULLTEXT CATALOG mycatalog
GO
CREATE FULLTEXT INDEX ON mytable
(
file_data
TYPE COLUMN file_extension
Language 1033
)
KEY INDEX PK_mytable ON mycatalog
WITH CHANGE_TRACKING AUTO
GO
I then proceeded by inserting PDF files as follows:
DECLARE @pdf VARBINARY(MAX)
SELECT @pdf = BulkColumn
FROM OPENROWSET(BULK N'C:\path\filename.pdf', SINGLE_BLOB) AS file_data;
INSERT INTO mytable (file_data, file_extension)
VALUES (@pdf, '.pdf')
When I do a full-text search using FREETEXT
I do not get results. So I run this view:
SELECT * FROM sys.dm_fts_index_keywords(db_id('mydb'), object_id('dbo.mytable'))
And it is empty. I have also run:
SELECT
FULLTEXTCATALOGPROPERTY(cat.name,'ItemCount') AS [ItemCount],
FULLTEXTCATALOGPROPERTY(cat.name,'MergeStatus') AS [MergeStatus],
FULLTEXTCATALOGPROPERTY(cat.name,'PopulateCompletionAge') AS [PopulateCompletionAge],
FULLTEXTCATALOGPROPERTY(cat.name,'PopulateStatus') AS [PopulateStatus],
FULLTEXTCATALOGPROPERTY(cat.name,'ImportStatus') AS [ImportStatus]
FROM sys.fulltext_catalogs AS cat
And all values are 0 apart from PopulateCompletionAge
which is a big number. So I tried to do a manual population with:
ALTER FULLTEXT INDEX ON mytable START FULL POPULATION;
And I got this message:
Warning: Request to start a full-text index population on table or indexed view 'mytable' is ignored because a population is currently active for this table or indexed view.
Am I missing a step on setting up / populating the catalog?