Aracılığıyla paylaş


Bir xml sütun üzerinde tam metin dizini

xml değerleri içeriğinin dizinini oluşturur, ancak xml biçimlendirmesi yoksayar xml sütun üzerinde tam metin dizini oluşturabilirsiniz.Öğe etiketleri olarak token sınırları kullanılır.Aşağıdaki öğeleri dizine eklenir:

  • xml öğelerinin içeriği.

  • xml özniteliği üst düzey öğenin içeriğini yalnızca sayısal değerler bu değerler olmadığı sürece.

Mümkün olduğunda, tam metin araması ile xml dizini aşağıdaki şekilde birleştirebilirsiniz:

  1. İlk olarak, tam metin araması sql kullanarak ilgi xml değerleri filtre.

  2. Sonra xml sütun üzerinde xml dizin kullanan xml değerleri sorgu.

Örnek: Tam metin arama xml sorgulama ile birleştirme

xml sütun üzerinde tam metin dizini oluşturduktan sonra aşağıdaki sorgu xml değerini "özel" sözcüğü içerip içermediğini denetler bir kitabın başlığında:

SELECT * 
FROM   T 
WHERE  CONTAINS(xCol,'custom') 
AND    xCol.exist('/book/title/text()[contains(.,"custom")]') =1

The contains() method uses the full-text index to subset the XML values that contain the word "custom" anywhere in the document.The exist() clause ensures that the word "custom" occurs in the title of a book.

Kullanan tam metin araması contains() ve XQuery contains() farklı semantik vardır.İkinci bir dize eşleşmesinin ve eski dallanma kullanan bir simge eşleştirme.Bu nedenle, arama için ise dize , "Çalıştır" başlığında, eşleri "Çalıştır", "çalışan" ve "çalışan", çünkü içerecektir hem tam metin contains() ve Xquery contains() sizce.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.Genellikle, saf eşleşmesinin, tam metni için contains() yan tümce tümce tümce kaldırıldı.

Ayrıca word, dallanma XQuery tam metin araması kullanır contains() değişmez olanıdır.Bu fark, bir sonraki örnekte gösterilmiştir.

Örnek: Dallanma kullanarak xml değerleri üzerinde tam metin arama

XQuery contains() Yukarıdaki örnekte genellikle gerçekleştirilen onay alamazsınız ortadan.Bu sorgu göz önünde bulundurun:

SELECT * 
FROM   T 
WHERE  CONTAINS(xCol,'run') 

Word "sel" belgede, dallanma nedeniyle arama koşulu ile eşleşir.Buna ek olarak, arama kapsamı XQuery kullanarak kontrol edilmez.

xml, tam metin dizini olan axsd kullanarak ilişkisel sütunlara çözüldüğünde, xml görünüm üzerinde oluşan XPath sorguları temel tabloya tam metin araması gerçekleştirin.

Ayrıca bkz.

Kavramlar