2011-01-25 36 views
0

我面临一个棘手的问题,我认为我最好在自己制定攻击计划之前寻求社区的指导。对大量XML文件进行索引

我有几千个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文件流),它不能告诉你词/词/短语所在的上下文。

任何帮助将不胜感激!谢谢!

+0

XML文件是否都具有相同的模式? – 2011-01-25 23:28:38

回答