I have installed SQL Server 2008 R2 with FullText search feature installed.
I created a catalog and fulltext index on a table (let's say Table1
). I used the following commands (sql queries):
USE MyDatabase
EXEC sp_fulltext_database 'enable'
CREATE FULLTEXT CATALOG [MY_CATALOG_] WITH ACCENT_SENSITIVITY = ON
CREATE FULLTEXT INDEX ON Table1 (Column1)
KEY INDEX PK_KEY_TABLE1_
ON MY_CATALOG_ WITH CHANGE_TRACKING AUTO;
WITH CHANGE_TRACKING AUTO;
means auto-populate, right ?
When I use a stored procedure to update a row from Table1
and I use search query like:
SELECT * FROM Table1 WHERE CONTAINS(Column1,'modifiedName')
but no results were found.
I've checked the populate status is 0 (idle). I have to go in Sql Management studio and choose rebuild catalog. And then works (mean I found results what I expected)
My question: how long takes populating catalog in sql server ? My table (Table1) has 2000 rows.
Best Answer
I think ther is no answer. IIRC the change gets logged and full text index processes them async one by one - so the time is "random" - i.e. depending on the amount of changes, the size of the queue.
If you ahve things properly configured it should show up "after some time", but that should - unless you do a TON of updates in one moment - be relatively fast.
This is in line with the business approach (text repositories) where a time delay can be accepted.