2009-07-07 7 views
12

Vous devez impérativement reconstruire l'index de texte intégral mssql.
Le problème est - je dois savoir exactement quand le travail est fait. Par conséquent - il suffit d'appeler:Comment reconstruire un index de texte intégral?

ALTER FULLTEXT CATALOG fooCatalog 
REBUILD WITH ACCENT_SENSITIVITY = OFF 

ne fonctionne pas ou je fais quelque chose qui ne va pas. :/

Des idées?

Répondre

18

Vous pouvez déterminer l'état de l'indexation du texte intégral en interrogeant la indexing properties comme ceci:

SELECT FULLTEXTCATALOGPROPERTY('IndexingCatalog', 'PopulateStatus') AS Status 

Tableau texte intégral Peupler Suivi de l'état

Displays the population status of the full-text indexed table. 

The possible values are as follows: 

0 = Idle. 

1 = Full population is in progress. 

2 = Incremental population is in progress. 

3 = Propagation of tracked changes is in progress. 

4 = Background update index is in progress, such as automatic change 

.

5 = Full-text indexing is throttled or pause 
+0

Donc - la meilleure option est d'appeler cela dans while (status = 0!)? –

+0

Ehh ... ça ira pour l'instant. Encore mieux que d'attendre X secondes et en espérant que la reconstruction sera terminée. –

+0

Oui, ce serait bien si un événement pouvait être soulevé auquel vous pourriez vous abonner, mais je ne pense pas qu'il y en ait un au meilleur de ma connaissance ... –

4

Puisque je ne peux pas commenter la réponse de Magnus encore (manque de réputation), je vais l'ajouter ici. J'ai trouvé qu'il y a un conflit d'informations sur MSDN selon this MSDN link. Selon le lien je référencement, le PopulateStatus a 10 valeurs possibles énumérées ci-dessous:

0 = Idle. 

1 = Full population in progress 

2 = Paused 

3 = Throttled 

4 = Recovering 

5 = Shutdown 

6 = Incremental population in progress 

7 = Building index 

8 = Disk is full. Paused. 

9 = Change tracking 
+0

Cette liste est peut-être plus correcte que celle qui ne va que jusqu'à 5. En utilisant SQL2012, j'ai vu un état de 9 immédiatement après le repeuplement de ma table indexée en texte intégral. – OutstandingBill

Questions connexes