我面前有一个困难的问题,我认为在我自己制定攻击计划之前,我会寻求社区的一些指导。
我有几千个XML文件,我需要通过SQL Server 2008数据库进行搜索。 XML文件当前驻留在磁盘上,不属于任何存储库。我所说的“可搜索”是指我需要能够做类似的事情(这里有伪代码)
SELECT *
FROM tbl_xmldata
WHERE CONTAINS('xmldata', 'some search word')
tbl_xmldata将是存储XML文件的表,xmldata将是包含实际XML数据的列。
最后一个要求(这实际上是一个艰难的要求)是当找到命中时(并且'命中'我的意思是发现XML文件包含被搜索的术语)我需要访问围绕查找搜索词的地方的措辞。例如,如果我有一个XML文件,其中包含以下内容:
<根> 我们认为这些事实是不言而喻的,所有人都是平等的< /根>
我搜索了“不言自明”这个词,然后我需要能够在找到搜索词之前和之后返回大约20个字符。我只提出了最后一点,因为 - 根据我的经验 - 无论如何,SQL Server的全文索引是有限的,因为它只能告诉你一个术语/单词/短语是否位于特定文档中(假设文档存储在SQL Server 2008文件流),它无法告诉您术语/单词/短语所在的上下文。
任何帮助将不胜感激!谢谢!