Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel helpt u bij het omzeilen van het probleem dat optreedt wanneer u een zoekopdracht in volledige tekst uitvoert op SQL Server-tekengegevens of wanneer u een gedistribueerde SQL-query gebruikt met de OLE DB-provider van Microsoft Index Server (MSIDXS) en een voorvoegseluitbreidingszoekopdracht voor een samengesteld woord met een afbreekstreepje (bijvoorbeeld XYZ-A*).
Van toepassing op: SQL Server
Oorspronkelijk KB-nummer: 200043
Symptomen
Bij het uitvoeren van een zoekopdracht in volledige tekst op SQL Server-tekengegevens of bij het gebruik van een gedistribueerde SQL-query met de OLE DB-provider van Microsoft Index Server (MSIDXS) en een zoekactie voor voorvoegsels naar een samengesteld woord dat een afbreekstreepje (bijvoorbeeld 'XYZ-A*') bevat, zijn de resultaten die worden geproduceerd, mogelijk niet zoals verwacht.
Oorzaak
Een zoekopdracht in volledige tekst beschouwt een woord als een tekenreeks zonder spaties of leestekens. Het optreden van een niet-alfanumerieke teken kan een woord breken tijdens een zoekopdracht. Omdat de zoekopdracht in volledige tekst van SQL Server een engine op basis van woorden is, wordt leestekens over het algemeen niet overwogen en genegeerd bij het zoeken in de index. Daarom zou een CONTAINS
component die overeenkomt met CONTAINS(testing, "computer-failure")
een rij met de waarde, de fout bij het vinden van mijn computer duur is.
Tijdelijke oplossing
Probeer een van de volgende methoden om dit probleem te omzeilen:
Gebruik alleen alfanumerieke tekens wanneer u de indexfaciliteiten voor volledige tekst van SQL Server gebruikt.
Wanneer niet-alfanumerieke tekens moeten worden gebruikt in de zoekcriteria (voornamelijk het streepje
-
), gebruikt u de Transact-SQL-componentLIKE
in plaats van deFULLTEXT
predicatenCONTAINS
.
Meer informatie
Microsoft SQL Server versie 7.0 biedt de mogelijkheid om een volledige-tekstquery uit te voeren op tekengegevens die zijn opgeslagen in SQL Server-tabellen. U kunt ook een gedistribueerde SQL-query gebruiken met de MSIDXS-provider om te zoeken naar bestandssysteemgegevens. Het gebruik van het streepje (-
) in een nabijheidszoekopdracht wordt niet ondersteund en kan onverwachte resultaten opleveren.
Verwijzingen
Zie sql Server Books Online voor meer informatie over zoeken in volledige tekst van SQL Server.
Zie de indexserverdocumentatie in de windows NT 4.0 Option Pack-documentatie voor meer informatie over het gebruik van de CONTAINS-component met de MSIDXS-provider (Microsoft Index Server).