Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
索引大量XML文件_Xml_Sql Server 2008_Indexing - Fatal编程技术网

索引大量XML文件

索引大量XML文件,xml,sql-server-2008,indexing,Xml,Sql Server 2008,Indexing,我有一个难题摆在我面前,我认为最好在我自己制定攻击计划之前向社区寻求一些指导 我有几千个XML文件,需要通过SQLServer2008数据库进行搜索。XML文件当前驻留在磁盘上,不属于任何存储库。我所说的“可搜索”是指我需要能够做一些事情,比如(这里的psuedo代码) tbl_xmldata将是存储XML文件的表,xmldata将是包含实际XML数据的列 最后一个要求(这实际上是一个困难的要求)是,当找到一个命中时(我所说的“命中”是指发现一个XML文件包含被搜索的术语),我需要访问搜索术语所

我有一个难题摆在我面前,我认为最好在我自己制定攻击计划之前向社区寻求一些指导

我有几千个XML文件,需要通过SQLServer2008数据库进行搜索。XML文件当前驻留在磁盘上,不属于任何存储库。我所说的“可搜索”是指我需要能够做一些事情,比如(这里的psuedo代码)

tbl_xmldata将是存储XML文件的表,xmldata将是包含实际XML数据的列

最后一个要求(这实际上是一个困难的要求)是,当找到一个命中时(我所说的“命中”是指发现一个XML文件包含被搜索的术语),我需要访问搜索术语所在位置周围的措辞。例如,如果我有一个XML文件,其中包含以下内容:

我们认为这些真理不言而喻,人人生而平等

我搜索了“不言而喻”这个词,然后我需要能够在找到搜索词之前和之后返回大约20个字符。我之所以提出最后一点,是因为根据我的经验,SQL Server的全文索引是有限的,因为它只能告诉您某个术语/单词/短语是否位于特定文档中(假设该文档存储在SQL Server 2008文件流中),而不能告诉您该术语/单词/短语所在的上下文


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

看看这个项目。一个不太成熟但很有希望的替代方案是

xml文件是否都具有相同的模式?
SELECT *
FROM tbl_xmldata
WHERE CONTAINS('xmldata', 'some search word')