2009-04-22 13 views
0

Ich habe die Volltextsuchfunktion in SQL Server 2008 Express eingerichtet. Das ist, was ich tat:SQL-Volltextsuche

-- STEP 1: Create catalog 
create fulltext catalog HtmlSearch 

-- STEP 2: Fill catalog 
create fulltext index on docs 
(WordHtml) 
key index IX_docs_1 
on HtmlSearch 
with change_tracking auto 

-- STEP 3: Search 
select * from docs 
where freetext(*, 'beleid') 

Die Tabelle docs hat eine Zeile, wo das Feld Wordhtml (html) Inhalt hat. Wenn ich Schritt 3 ausführe, passiert nichts. Ich bin mir sicher, dass der Begriff "Beleid" im HTML-Dokument existiert. Das Ergebnis der Abfrage ist 0 Datensätze. Was mache ich falsch? Muss ich irgendwo konfigurieren, dass dieses Feld HTML ist? Und wie mache ich das?

Antwort

1

Eine ähnliche Abfrage arbeitete auf einer Datenbank, die ich habe, also würde ich auf das Setup schauen. Hier sind einige Dinge, die du ausprobieren kannst:

Der Index scheint dir sowieso nicht gut zu sein, also würde ich ihn fallen lassen und versuchen, ihn neu zu erstellen. Ich bin nur mit 2005 vertraut, aber die Syntax, die Sie verwendet haben, sieht nicht wie das aus, was ich habe. Sie könnten versuchen (nach den entsprechenden Tropfen)

Ich nehme an, WordHtml ist der Name der Spalte, die Sie indizieren möchten. Wenn das der Fall ist, entspricht dies dem, was ich 2005 gemacht habe.

Als nächstes können Sie versuchen, den Volltextindex explizit aufzufüllen. Dies ist möglicherweise nicht notwendig, aber ich mache es immer, nachdem ich einen Volltextindex erstellt habe.

ALTER FULLTEXT INDEX ON docs 
START FULL POPULATION; 

GO