Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia obejście problemu występującego podczas wyszukiwania pełnotekstowego na danych znaków programu SQL Server lub w przypadku używania zapytania rozproszonego SQL z dostawcą OLE DB programu Microsoft Index Server (MSIDXS) i wyszukiwaniem rozszerzenia prefiksu zawierającego wyraz złożony (na przykład XYZ-A*).
Dotyczy: SQL Server
Oryginalny numer KB: 200043
Symptomy
Podczas wyszukiwania pełnotekstowego w danych znaków programu SQL Server lub w przypadku korzystania z zapytania rozproszonego SQL u dostawcy OLE DB (MSIDXS) programu Microsoft Index Server i wyszukiwania rozszerzeń prefiksu zawierającego wyraz złożony zawierający łącznik (na przykład "XYZ-A*"), wygenerowane wyniki mogą nie być zgodnie z oczekiwaniami.
Przyczyna
Wyszukiwanie pełnotekstowe uważa wyraz za ciąg znaków bez spacji lub znaków interpunkcyjnych. Wystąpienie znaku innego niż alfanumeryczne może spowodować przerwanie wyrazu podczas wyszukiwania. Ponieważ wyszukiwanie pełnotekstowe programu SQL Server jest aparatem opartym na wyrazach, interpunkcja zwykle nie jest brana pod uwagę i jest ignorowana podczas przeszukiwania indeksu. W związku z tym klauzula, która będzie zgodna CONTAINS
z wierszem z wartością , błąd znalezienia mojego komputera będzie kosztowny.CONTAINS(testing, "computer-failure")
Rozwiązanie
Aby obejść ten problem, spróbuj wykonać jedną z następujących metod:
Używaj znaków alfanumerycznych tylko w przypadku korzystania z obiektów indeksowania pełnotekstowego programu SQL Server.
Jeśli znak inny niż alfanumeryczny musi być używany w kryteriach wyszukiwania (przede wszystkim znak kreski
-
), należy użyć klauzuli Transact-SQLLIKE
zamiastFULLTEXT
predykatów lubCONTAINS
.
Więcej informacji
Program Microsoft SQL Server w wersji 7.0 umożliwia wykonywanie pełnotekstowego zapytania dotyczącego danych znaków przechowywanych w tabelach programu SQL Server. Możesz również użyć zapytania rozproszonego SQL z dostawcą MSIDXS, aby wyszukać dane systemu plików. Używanie kreski (-
) w wyszukiwaniu zbliżeniowym nie jest obsługiwane i może spowodować nieoczekiwane wyniki.
Informacje
Aby uzyskać więcej informacji na temat wyszukiwania pełnotekstowego programu SQL Server, zobacz artykuł Sql Server Books Online (Książki programu SQL Server Online).
Aby uzyskać więcej informacji na temat używania klauzuli CONTAINS z dostawcą microsoft Index Server (MSIDXS), zobacz dokumentację serwera indeksów w dokumentacji pakietu opcji systemu Windows NT 4.0.