Ich habe ein Feld in meiner Datenbank, die ein Word-Dokument enthält. Dies wird in einem varBinary (max) -Feld gespeichert.SQL-Volltextsuche Index Binärfeld
Ich benutze die Volltextsuche, um nach Text in diesem Feld zu suchen. Dazu habe ich ein Feld 'Extension' angelegt und jeder Datensatz enthält '.doc' im Feld Extension. Ich habe die Änderungsverfolgung auf automatisch gesetzt.
Alles funktioniert in Ordnung, bis ich einen neuen Datensatz erstellen. Wenn ich einen neuen Datensatz erstelle und nach einem Wort suche, das nur in den neuen Datensatz eingefügt wurde, findet das FTS nichts. Aber, wenn ich dies tun:
UPDATE table SET Extension = '.doc'
die FTS finden meinen neuen Rekord! Wie ist das möglich? Was vermisse ich?
Also, wenn ich ein Update für die Datensätze durchführen, werden die Datensätze neu indiziert?
Haben Sie versucht, nur etwas Zeit zu geben? Wenn die Indexierung im Hintergrund erfolgt, ist sie möglicherweise nicht unmittelbar nach dem Hinzufügen des Datensatzes verfügbar. – Guffa
Ja, ich habe das getan. Aber wenn ich einen vorhandenen Datensatz mit einem eindeutigen Wort aktualisiere und nach diesem Wort suche, erhalte ich direkt Ergebnisse – Martijn
Könnten Sie ein EXPLAIN auf die Abfrage (n) schreiben, die die binäre Spalte nach einem gegebenen Text durchsuchen? – FlipMcF