2010-10-25 29 views
0

J'ai un grand document XML dans la colonne Xml dans SQL Server. Je dois essentiellement effectuer une recherche de texte libre à travers les éléments du document.SQL 2005 XML Search

-vous utiliser A) SQL Texte libre Recherche B) Une procédure stockée qui traverse le XML et vérifie chaque valeur de chaque élément C) Utilisez Lucene.NET pour construire un index à la volée et recherche dans l'index?

Les utilisateurs comprennent que cela sera lent dans une certaine mesure. Si la procédure stockée n'était pas un monstre à écrire, je pencherais pour cela parce que c'est le moins pour maintenir et diminuer la complexité globale.

Répondre

0

Le livre "Pro SQL Server 2008 XML" contient une section sur l'indexation de texte en texte intégral qui peut vous intéresser. Il mentionne que lorsque les données XML sont indexées, un "XML Word Breaker" spécial est utilisé pour séparer le contenu du texte du balisage. Essentiellement, cela signifie que seul le contenu est indexé, pas le balisage. Les index de texte intégral prennent également en charge la recherche de racines et de thésaurus. Nous venons de remarquer que vous utilisez SQL Server 2005, vous devrez donc vérifier si cette fonctionnalité est prise en charge. Je soupçonne que c'est.