Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
För att förhindra att ett fulltextindex blir uppsvällt har Databasmotor för SQL Server en mekanism som slänger vanliga strängar som inte hjälper sökningen. Dessa borttagna strängar kallas stoppord. När indexet skapas utelämnar Full-Text Engine stoppord från fulltextindexet. Detta innebär att fulltextfrågor inte söker på stoppord.
| Begrepp | Description |
|---|---|
| Stoppord | Ett stoppord kan vara ett ord med betydelse på ett visst språk. Till exempel utelämnas ord som a, and, is, och the i det engelska språket från fulltextindexet eftersom de är kända för att vara värdelösa för en sökning. Ett stoppord kan också vara en token som inte har språklig betydelse. |
| Stopplistor | Stoppord hanteras i databaser genom att använda objekt som kallas stopplistor. En stoplist- är en lista över stoppord som, när de är associerade med ett fulltextindex, tillämpas på fulltextfrågor i indexet. |
Använda en befintlig stopplista
Du kan använda en befintlig stopplista på följande sätt:
Använd den systemspecifika stopplistan i databasen. Database Engine levereras med en systemstopplista som innehåller de mest använda stopporden för varje stödd språk, det vill säga för varje språk som är associerat med givna ordbrytare som standard. Du kan kopiera systemstopplistan och anpassa din kopia genom att lägga till och ta bort stoppord.
Systemstopplistan installeras i resursdatabasen.
Använd en befintlig anpassad stopplista från en annan databas i den aktuella serverinstansen, och lägg sedan till eller ta bort stoppord efter behov.
Skapa en ny stopplista
Du kan skapa en stopplista genom att använda Transact-SQL (T-SQL) eller SQL Server Management Studio (SSMS).
Skapa en ny stopplista med Transact-SQL
Använd CREATE FULLTEXT STOPLIST.
Skapa en ny stopplista med SQL Server Management Studio
Expandera servern i Object Explorer.
Expandera Databaseroch expandera sedan den databas där du vill skapa en fulltextstopplista.
Expandera Storage och högerklicka sedan på Fulltext-stopplistor.
Välj Ny Full-Text Stopplista.
Ange namnet på den nya stopplistan.
Du kan också ange någon annan som stoplist-ägare.
Välj något av följande alternativ för att skapa en stopplista:
Skapa en tom stoppordlista
Skapa från systemstopplistan
Skapa från en befintlig stopplista i fulltext
Mer information finns i New Full-Text Stoplist (allmän sida).
Välj OK.
Använda en stopplista i fulltextfrågor
Om du vill använda en stopplista i frågor måste du associera den med ett fulltextindex. Du kan koppla en stopplista till ett fulltextindex när du skapar indexet, eller så kan du ändra indexet senare för att lägga till en stopplista.
| Task | Metod |
|---|---|
| Skapa ett fulltextindex och koppla det till en stopplista | Använd CREATE FULLTEXT INDEX. |
| Associera eller koppla bort en stopplista med ett befintligt fulltextindex | Använd ALTER FULLTEXT INDEX. |
Ändra stopporden i en stopplista
Du kan ändra stopporden i en stopplista genom att använda Transact-SQL (T-SQL) eller SQL Server Management Studio (SSMS).
Lägg till eller släpp stoppord från en stopplista med Transact-SQL
Använd ALTER FULLTEXT STOPLIST.
Lägg till eller ta bort stoppord från en stopplista med SQL Server Management Studio
Expandera servern i Object Explorer.
Expandera Databaser, och sedan expandera databasen.
Expandera Storageoch välj sedan fulltext-stoppordlistor.
Högerklicka på den stopplista vars egenskaper du vill ändra och välj Egenskaper.
I dialogrutan Full-Text Stoplist Properties:
I listrutan Åtgärd väljer du någon av följande åtgärder: Lägg till stoppord, Ta bort stoppord, Ta bort alla stoppordeller Rensa stopplista.
Om textrutan Stopword är aktiverad för den valda åtgärden anger du ett enda stoppord. Detta stoppord måste vara unikt. Det kan inte redan finnas i denna stopplista för det språk du väljer.
Om listrutan fulltextspråk är aktiverad för den valda åtgärden väljer du ett språk.
Välj OK.
Hantera stopplistor och deras användning
Använd följande metoder för att se och hantera stopplistor.
| Task | Metod |
|---|---|
| Visa alla stoppord i en stopplista | Använd sys.fulltext_stopwords. |
| Få information om alla stopplistor i den aktuella databasen | Använd sys.fulltext_stoplists och sys.fulltext_stopwords. |
| Visa tokeniseringsresultatet av en kombination av ordbrytare, synonymordlista och stopplista. | Använd sys.dm_fts_parser. |
| Ignorera ett felmeddelande om stoppord gör att en boolesk åtgärd i en fulltextfråga misslyckas | Använd Serverkonfiguration: omvandla brusord. |
Mer information om stoppordets position
Även om fulltextindexet ignorerar inkluderingen av stoppord, tar det hänsyn till deras position. Till exempel, betrakta frasen Instructions are applicable to these Adventure Works Cycles models. I följande tabell visas positionen för orden i frasen:
| Ord | Position |
|---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
Stopporden are, to, och these som finns på positionerna 2, 4 och 5 utelämnas från fulltextindexet. Men deras positionsinformation bibehålls, vilket lämnar positionen för de andra orden i frasen opåverkad.
Uppgradera brusord från SQL Server 2005
SQL Server 2005 (9.x) brusord ersätts av stoppord. När en databas uppgraderas från SQL Server 2005 (9.x) används inte längre brusordsfilerna. Dock lagras brusordsfilerna i mappen FTDATA\FTNoiseThesaurusBak , och du kan använda dem senare när du uppdaterar eller bygger motsvarande stopplistor. Information om hur du uppgraderar brusordsfiler till stopplistor finns i Upgrade Full-Text Search.