Full-Text Index on an XML Column
Można utworzyć indeksu całego tekstu na kolumny XML, które indeksy zawartości XML wartości, ale ignoruje oznakowanie XML.ComparisonStyle jest mapą bitową, która jest obliczana przy użyciu następujących wartości.Ignoruj akcentuJeśli jest to możliwe, można połączyć przeszukiwanie pełnego tekstu z indeksem XML w następujący sposób:
Najpierw należy filtrować XML wartości procentowej przy użyciu języka SQL przeszukiwanie pełnego tekstu.
Następnie kwerendy tych wartości XML, które kolumna XML za pomocą indeksu XML.
Przykład: Łączenie przeszukiwanie pełnego tekstu z danymi XML, kwerenda
Po utworzeniu indeksu całego tekstu w pliku XML kolumna, poniższa kwerenda sprawdza, czy wartość XML zawiera słowo "custom" w tytule książki:
SELECT *
FROM T
WHERE CONTAINS(xCol,'custom')
AND xCol.exist('/book/title/text()[contains(.,"custom")]') =1
The contains() metoda uses the full-text index to podzbiór the XML values that contain the word "custom" anywhere in the document.The exist() klauzula ensures that the word "custom" occurs in the title of a book.
Przeszukiwanie pełnego tekstu, który używa contains() i XQuery contains() ma semantyka różne.Jest on Dopasowanie podciągów i jest token dopasowania, wykorzystuje mapowanie rdzeni.Dlatego, jeśli wyszukiwanie jest ciąg znaków, który ma "Uruchom" w tytule, dopasowania będzie zawierać "Uruchom", "działa" i "uruchomiony", ponieważ zarówno pełnego — tekst contains() i Xquery contains() są spełnione.However, the query does not match the word "customizable" in the title in that the full-text contains() fails, but the Xquery contains() is satisfied.Ogólnie rzecz biorąc do dopasowania czystego podciąg, pełnego tekstu contains() klauzula powinny zostać usunięte.
Ponadto wykorzystuje mapowanie rdzeni słów, ale XQuery przeszukiwanie pełnego tekstu contains() jest literałem dopasowania.Różnica ta jest zilustrowane w następnym przykładzie.
Przykład: przeszukiwanie pełnego tekstu na wartości XML przy użyciu Stemming
XQuery contains() Sprawdź, czy wykonano w poprzednim przykładzie, zazwyczaj nie mogą zostać usunięte.Należy wziąć pod uwagę tę kwerendę:
SELECT *
FROM T
WHERE CONTAINS(xCol,'run')
Wyraz "ran" w dopasowania dokumentu warunek wyszukiwania z powodu wynikające.Ponadto kontekst wyszukiwania nie jest sprawdzany przy użyciu XQuery.
Gdy XML jest rozłożony na relacyjnych kolumny przy użyciu AXSD są indeksowania pełnotekstowego, kwerendy XPath, występujące nad Widok XML nie należy wykonywać wyszukiwanie pełnotekstowe w podstawowych tabelach.