In meiner SQL Server 2008 R2-Datenbank wird der folgende Fehler angezeigt:
Ein
CONTAINS
oderFREETEXT
Prädikat für die Tabelle oder die indizierte Ansicht 'tblArmy' kann nicht verwendet werden , da sie nicht im Volltext indiziert ist.
sql
sql-server
tsql
sql-server-2008
full-text-search
DotnetSparrow
quelle
quelle
Antworten:
Stellen Sie sicher, dass die Volltextsuchfunktion installiert ist.
Erstellen Sie einen Volltextsuchkatalog.
Erstellen Sie einen Volltextsuchindex.
Stellen Sie vor dem Erstellen des Index Folgendes sicher:
- Sie haben noch keinen Volltextsuchindex für die Tabelle, da nur ein Volltextsuchindex für eine Tabelle zulässig ist.
- Für die Tabelle ist ein eindeutiger Index vorhanden. Der Index muss auf einer Einzelschlüsselspalte basieren, die NULL nicht zulässt.
- Volltextkatalog existiert. Sie müssen den Volltextkatalognamen explizit angeben, wenn kein Standardvolltextkatalog vorhanden ist.
Sie können die Schritte 2 und 3 in SQL Server Management Studio ausführen. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf eine Tabelle, wählen Sie den
Full-Text index
Menüpunkt und dann denDefine Full-Text Index...
Untermenüpunkt. Der Volltext-Indizierungsassistent führt Sie durch den Vorgang. Außerdem wird ein Volltextsuchkatalog für Sie erstellt, falls Sie noch keinen haben.Weitere Informationen finden Sie bei MSDN
quelle
Eine Problemumgehung für
CONTAINS
: Wenn Sie keinen Volltextindex für die Spalte erstellen möchten und die Leistung nicht zu Ihren Prioritäten gehört, können Sie dieLIKE
Anweisung verwenden, für die keine vorherige Konfiguration erforderlich ist:Beispiel: Finden Sie alle Produkte, die den Buchstaben Q enthalten:
quelle
Sie müssen
Full-Text-Index
für alle Tabellen in der Datenbank definieren, wo Sie eine Abfrage verwenden müssen, die einige Zeit in AnspruchCONTAINS
nehmen wird.Stattdessen können Sie das verwenden
LIKE
, mit dem Sie sofort Ergebnisse erzielen, ohne die Einstellungen für die Tabellen anpassen zu müssen.Beispiel:
Das gleiche Ergebnis
CONTAINS
kann mit erzielt werdenLIKE
.siehe das Ergebnis:
quelle
Möglicherweise müssen Sie die Tabelle für die Volltextindizierung aktivieren .
quelle
Sie müssen einen Volltextindex für bestimmte Felder hinzufügen, die Sie durchsuchen möchten.
Dabei sind "Nachrichten" Ihre Tabelle und die Felder "Überschrift, Geschichte", die Sie für die Volltextsuche nicht aktivieren
quelle
Es gibt noch eine weitere Lösung, um die Spalte Volltext auf true zu setzen.
Diese Lösung hat zum Beispiel bei mir nicht funktioniert
Meine Lösung.
NÄCHSTE SCHRITTE
Aktualisierung
Version von mssql 2014
quelle
wird als% gleich wie handeln
quelle