你可以使用SQL Server自由文本搜索XML文件吗?

时间:2011-07-29 19:29:37

标签: sql sql-server xml search

我有一份简历的XML Feed。简历的每个部分都分解为其组成部分。例如<employment_history><education><skills>

我知道我可以将XML文件的每个部分保存到数据库中。例如columnID = employment_history |教育|技能与然后在这些单独的列上进行自由文本搜索。但是我不愿意这样做,因为它会创建已包含在XML文件中的数据重复,并可能给索引带来额外的压力。

因此,我想知道是否可以使用SQL Server在<employment_history></employment_history>内对XML文件进行自由文本搜索。

如果是这样,我们将不胜感激。

3 个答案:

答案 0 :(得分:4)

您是否知道SQL Server支持数据类型为“XML”的列?这些可以包含整个XML文档。

您还可以索引这些列,并且可以使用XQuery在这些列上执行查询和数据操作任务。


请参阅Designing and Implementing Semistructured Storage (Database Engine)

答案 1 :(得分:0)

通过使用sql进行字符串搜索来查询xml可能会遇到很多麻烦。

相反,我会将其解析为您用于与数据库交互的任何语言,并使用xpath(大多数语言/环境具有某种内置或流行的第三方库)来查询它。

答案 2 :(得分:0)

我认为你可以创建一个函数(UDF),它将xml文本作为参数,然后它获取标签内的数据然后你制作你想要的过滤器