Delen via


Stopwoorden en stoplijsten configureren en beheren voor Full-Text zoekopdracht

van toepassing op:SQL ServerAzure SQL Database-

Om te voorkomen dat een index met volledige tekst wordt opgeblod, heeft SQL Server een mechanisme waarmee veelvoorkomende tekenreeksen worden verwijderd die de zoekopdracht niet helpen. Deze verworpen tekenreeksen worden stopwoordengenoemd. Tijdens het maken van de index laat de Full-Text Engine stopwords weg uit de volledige tekstindex. Dit betekent dat query's in volledige tekst niet worden doorzocht op stopwoorden.

Stopwords. Een stopwoord kan een woord zijn met betekenis in een specifieke taal. In de Engelse taal worden bijvoorbeeld woorden zoals 'a', 'en', 'is' en 'de' uit de volledige-tekstindex weggelaten, omdat ze bekend zijn dat ze nutteloos zijn voor een zoekopdracht. Een stopwoord kan ook een token zijn die geen taalkundige betekenis heeft.

Stoplijsten. Stopwords worden beheerd in databases met behulp van objecten die stoplists worden genoemd. Een stoplijst is een lijst met stopwoorden die, wanneer gekoppeld aan een index in volledige tekst, wordt toegepast op query's in volledige tekst op die index.

Een bestaande stoplijst gebruiken

U kunt een bestaande stoplijst op de volgende manieren gebruiken:

  • Gebruik de door het systeem geleverde stoplijst in de database. SQL Server wordt geleverd met een systeemstoplijst die standaard de meest gebruikte stopwoorden voor elke ondersteunde taal bevat. Dit is voor elke taal die standaard is gekoppeld aan bepaalde woordonderbrekers. U kunt de systeemstoplijst kopiëren en uw kopie aanpassen door stopwoorden toe te voegen en te verwijderen.

    De systeemstoplijst wordt geïnstalleerd in de Resource-database.

  • Gebruik een bestaande aangepaste stoplijst uit een andere database in de huidige serverinstantie en voeg vervolgens stopwoorden toe of verwijder ze indien nodig.

Een nieuwe stoplijst maken

Een nieuwe stoplijst maken met Transact-SQL

Gebruik CREATE FULLTEXT STOPLIST.

Een nieuwe stoplijst maken met Management Studio

  1. Vouw in Objectverkenner de server uit.

  2. Vouw Databasesuit en vouw vervolgens de database uit waarin u de volledige tekststoplijst wilt maken.

  3. Vouw Storage-uit en klik met de rechtermuisknop op Full-Text Stoplists.

  4. Selecteer Nieuwe Full-Text stoplijst.

  5. Voer de naam van de nieuwe stoplijst in.

  6. Geef desgewenst iemand anders op als de eigenaar van de stoplijst.

  7. Selecteer een van de volgende opties voor het maken van de stoplijst:

    • Een lege stoplijst maken

    • Maken op basis van de stoplijst van het systeem

    • Een bestaande stoplijst met volledige tekst maken

    Voor meer informatie, zie Nieuwe Full-Text Stoplijst (Algemene Pagina).

  8. Selecteer OK-.

Een stoplijst gebruiken in query's in volledige tekst

Als u een stoplijst in query's wilt gebruiken, moet u deze koppelen aan een index in volledige tekst. U kunt een stoplijst koppelen aan een volledige-tekstindex wanneer u de index maakt of u kunt de index later wijzigen om een stoplijst toe te voegen.

Een volledige-tekstindex maken en er een stoplijst aan koppelen

Gebruik om een FULLTEXT INDEX te maken (Transact-SQL).

Een stoplijst aan een bestaande volledige-tekstindex koppelen of ontkoppelen

Gebruik ALTER FULLTEXT INDEX (Transact-SQL).

De stopwoorden in een stoplijst wijzigen

Stopwords toevoegen aan of verwijderen uit een stoplijst met Transact-SQL

Gebruik ALTER FULLTEXT STOPLIST (Transact-SQL).

Stopwords toevoegen aan of verwijderen uit een stoplijst met Management Studio

  1. Vouw in Objectverkenner de server uit.

  2. Vouw Databasesuit en vouw vervolgens de database uit.

  3. Vouw Storage-uit en selecteer lijst met stoplijsten voor volledige tekst.

  4. Klik met de rechtermuisknop op de stoplijst waarvan u de eigenschappen wilt wijzigen en selecteer Eigenschappen.

  5. In het dialoogvenster stoplijsteigenschappen van Full-Text:

    1. Selecteer in de keuzelijst actie een van de volgende acties: stopwoord toevoegen, stopword verwijderen, Alle stopwoordenverwijderen of stoplijst wissen.

    2. Als het tekstvak Stopword is ingeschakeld voor de geselecteerde actie, voert u één stopwoord in. Dit stopwoord moet uniek zijn; dat wil gezegd, nog niet in deze stoplijst voor de taal die u selecteert.

    3. Als de volledige teksttaal keuzelijst is ingeschakeld voor de geselecteerde actie, selecteert u een taal.

  6. Selecteer OK-.

Stoplijsten en hun gebruik beheren

Alle stopwoorden in een stoplijst weergeven

Gebruik sys.fulltext_stopwords (Transact-SQL).

Informatie over alle stoplijsten in de huidige database

Gebruik sys.fulltext_stoplists (Transact-SQL) en sys.fulltext_stopwords (Transact-SQL).

Weergeef het tokenisatieresultaat van een combinatie met een woordafbreker, synoniemenlijst en stoplijst.

Gebruik sys.dm_fts_parser (Transact-SQL).

Een foutbericht onderdrukken als stopwords ertoe leiden dat een Booleaanse bewerking op een query in volledige tekst mislukt

Gebruik de serverconfiguratieoptie om ruiswoorden te transformeren.

Meer informatie over de positie van stopwoorden

Hoewel het de opname van stopwoorden negeert, houdt de index in volledige tekst rekening met hun positie. Denk bijvoorbeeld aan de zin 'Instructies zijn van toepassing op deze Adventure Works Cycles-modellen'. In de volgende tabel ziet u de positie van de woorden in de zin:

Woord Positie
Aanwijzingen 1
zijn 2
toepasbaar 3
Naar 4
deze 5
Avontuur 6
Werken 7
Cycli 8
Modellen 9

De stopwoorden 'zijn', 'aan' en 'deze' die zich in posities 2, 4 en 5 bevinden, worden weggelaten uit de volledige tekst-index. Hun positionele informatie wordt echter gehandhaafd, waardoor de positie van de andere woorden niet wordt beïnvloed.

Ruiswoorden upgraden van SQL Server 2005

SQL Server 2005 (9.x) ruiswoorden zijn vervangen door stopwoorden. Wanneer een database wordt bijgewerkt vanuit SQL Server 2005 (9.x), worden de noise-word-bestanden niet meer gebruikt. De noise-word-bestanden worden echter opgeslagen in de map FTDATA\ FTNoiseThesaurusBak en u kunt ze later gebruiken bij het bijwerken of bouwen van de bijbehorende stoplijsten. Zie Upgrade Full-Text Searchvoor meer informatie over het upgraden van noise-word-bestanden naar stoplists.