【问题标题】:Indexing large number of XML files索引大量 XML 文件
【发布时间】:2011-06-15 13:25:26
【问题描述】:

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

我有几千个 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 文件流),它无法告诉您术语/单词/短语所在的上下文。

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

【问题讨论】:

  • xml 文件是否都具有相同的架构?

标签: xml sql-server-2008 indexing


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多