2011-01-25 37 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

回答