将 Word/PDF 文档从文件系统索引到 SQL Server

2024-01-01

我正在尝试为我遇到的问题提出一个简单的解决方案,因为到目前为止我发现的所有这些似乎都太复杂了!

情况是我们使用专有应用程序来管理我们业务的大部分方面。它有一个SQL Server 2005后端数据库,该数据库相当大。该应用程序还允许将 Word 和 PDF 文档附加到我们广泛使用的记录中,这些记录存储在服务器上的文件系统中,文件名在数据库中引用。不幸的是,应用程序中的搜索功能很差,所以我正在尝试构建自己的版本。

到目前为止,我已经有了一个带有搜索框的简洁 ASP.NET 页面,该页面允许用户输入要搜索的单词,并在其他字段(例如部门、日期等)上过滤结果。 存储过程 I'我们在数据库中写入的内容会在数据库中的几个不同字段中查找他们正在搜索的单词。我真正的目标是谷歌式的“一次搜索统治所有”效果,用户不必指定他们期望在哪里找到他们正在寻找的单词,他们只会在任何地方得到点击它出现在数据库中。这正在发挥作用。

我现在要添加的是搜索功能,包括“附加”到记录的文档文本。它们都是 .doc 或 .pdf 文件,但如果我无法搜索 .pdf 文件,那也不会是世界末日。

在我的理想世界中,我要做的就是找到一些软件来索引包含文档的文件夹(目前大约有 100,000 个文档,平均约为 100k),并使用该索引填充现有数据库中的表,以便我可以只需将该表包含在我的搜索中即可。我希望它只包含它索引的每个唯一单词的记录以及引用包含该单词的文件系统中的文档的连接表。

鉴于这似乎很奇怪,并且没有任何软件可以做到这一点,或任何接近它的东西,据我所知,您会推荐什么解决方案?服务器上已经运行了 dtSearch,对我感兴趣的文件进行索引。但是,虽然我可以费力地浏览文档,试图弄清楚如何通过我自己的网页(我已经开始要做,并且发现很繁重),这将必须是对 SQL 数据库之一的单独搜索。我无法以统一的方式从文件索引和数据库返回结果。

那么,从最终希望将索引词存储在数据库中出发,以实现全文检索,有人会建议什么呢?


SQL Server 具有全文搜索 (http://msdn.microsoft.com/en-us/library/ms142571.aspx);它支持 PDF 和 Word 文件(尽管有一些问题 - 安装可能有点棘手)。该链接指向 SQL Server 2008 - 但该功能自 SQL Server 2000 以来就已存在。

因此,超级简单 - 您的解决方案将要求您将文档加载到 SQL Server 中,并修改您的存储过程以使用内置的自由文本搜索功能来查询它们。

保持文档的文件系统和数据库版本同步可能是一个挑战,但除此之外,我认为解决方案应该相当简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Word/PDF 文档从文件系统索引到 SQL Server 的相关文章

  • date_sub 对于 mysql 可以,对于 postgresql 可以

    此查询适用于 mySQL 不适用于 Postgresql select from where id and h gt date sub now INTERVAL 30 MINUTE 错误是 Query failed ERREUR erreu
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • 可以使用表通配符创建 sql 查询吗?

    这可能是一个简单的问题 但我无法在网上找到解决方案 任何帮助将不胜感激 我正在尝试在 PHP 中创建一个 SQL 查询 并希望以某种方式将通配符应用于 TABLE 过滤器 可能是这样的 select from table 但是 到目前为止我
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • 从 Google Play 删除未发布的应用

    我在我的 Google Play 帐户中创建了一个新应用程序 我没有发表还没完成 它刚刚准备好发布 由于它尚未发布 有什么方法可以将其从我的帐户中永久删除吗 我找不到任何删除或删除按钮 我读here https stackoverflow
  • 在 iOS 中集成 Google 和 Facebook 登录 - AppDelegate openURL

    我正在尝试将 facebook 和 google 登录集成到我的应用程序中 但遇到了问题 两者都需要将以下内容添加到 Appdelegate 中的 openURL 方法中 return GIDSignIn sharedInstance ha
  • 为什么 `print(object)` 显示 `<__main__.对象位于 0x02C08790>`?

    我不断得到 lt main Camera object at 0x02C08790 gt 我不知道为什么 我希望代码基本上在一个循环中从 Calc Speed 转到 Counter 然后返回到 Calc Speed class Camera
  • MSBuild:如何为 Web 部署项目(VS2010)构建 Web 部署包?

    我将一个网站项目 带有 Web 部署项目 从 VS2008 迁移到 VS2010 现在我可以在 VS2010 中为 Web 部署项目制作 构建部署包 效果非常好 但我找不到通过 MSBuild 执行相同操作的方法 我回答我的一个问题 经过大
  • COM 字符串 (BSTR) 和 .NET 字符串有什么区别?

    这只是字节组合来 编码 数据的方式吗 我很好奇 因为我想知道 RCW 如何自动获取 NET 字符串并将其转换为 COM BSTR 我猜测它只是形成了从 NET 字符串转换而来的有效 COM BSTR 相关 我可以使用 NET 中的字节类型构
  • 从上下文资产中的 Uri 加载 MediaPlayer

    我的资产目录中有一个音频文件 资产 音频 dance mp3 如果我运行 context getAssets list audio 它出现了 但是当我尝试使用 MediaPlayer create context uri 时它总是失败并返回
  • 安装适用于 Python 的 TextBlob 时遇到问题

    我是编程新手 我正在尝试安装 Python 的 TextBlob 库来帮助我做一些事情 遗憾的是 我在安装 TextBlob 时遇到了麻烦 更不用说使用它了 我使用的是Windows 这似乎让事情变得更加困难 我希望我可以只运行 Linux
  • StructureMap 和嵌套泛型

    我想知道是否有一种方法可以在其中连接嵌套泛型StructureMap无需指定内部类型或创建特定于类型的接口 我意识到这有点令人困惑 因此编码示例可能是对我正在寻找的功能的更好解释 public interface IParser
  • 使用 jQuery 切换元素的属性?

    使用 jQuery 构建树形菜单 并且我希望它可以访问 因此我使用 aria 属性 我想要做的是在单击 输入时将 aria expanded 属性从 true 切换为 false 我已经尝试过 但显然不正确 this closest ul
  • 下拉列表中的地图位置名称

    我的应用程序必须使用文本框集成搜索位置名称 Map kit有什么方法可以实现这种功能吗 下图显示了我真正需要的 No MapKit没有任何方法来实现这种类型的属性 为此 您必须实现自己的代码 即使用 UISearchbarCantrolle
  • 为什么鱼绑定在 mac os 中不起作用?

    我正在尝试使用一些鱼绑定 但无法让它们在我的 Apple sierra 中同时使用 iterm2 和终端工作 例如 当我使用Alt d它应该删除一个单词 它插入了字母 我在这里错过了什么吗 您需要将终端配置为将 option alt 键视为
  • 不能在赋值中使用类型 interface {} 作为类型 person:需要类型断言

    我尝试转换interface 构造person package main import encoding json fmt func FromJson jsonSrc string interface var obj interface j
  • 更新后Android资源编译失败

    更新 android studio 后 我的项目崩溃并出现以下错误 Android resource compilation failed Output C Users aliya Desktop EventsToday app build
  • 为一个名称 urllib2 发送多个值

    我正在尝试提交一个包含复选框的网页 并且我最多需要选中其中 10 个复选框 问题是当我尝试将它们分配给字典中的一个名称时 它只分配最后一个而不是全部 10 个 那么我该如何做到这一点 这里是请求代码 forms ref ck ref typ
  • 将日期和时间输入字符串组合为日期对象

    我有两个输入标签用于从用户处选择日期和时间 p Start Date p p p
  • 为 CMake 引入新的编译器

    我们使用一个特定的编译器 称为 Cadul 它有自己的库 目标等 问题是 与 GNU Intel Clang 等 标准 编译器相比 CMake 不支持它 首先我想使用交叉编译 但它不起作用 因为主机和目标平台是相同的 然后我查看了模块 在其
  • 如何用 Swift 创建波浪路径

    我希望我的节点以正弦曲线波行进 我尝试将其用于 CGPath 如何创建遵循正弦曲线的 CGPath 除了手动查找曲线上的点之外 还有其他方法吗 或者我可以只传递正弦函数吗 let action SKAction followPath
  • Gradle 无法同步“无法找到可选库”

    我必须重新安装系统 今天当我尝试与 gradle 同步时 我在 Android Studio 中收到此错误 Warning Unable to find optional library org apache http legacy 我的项
  • 我想将 std::string 转换为 const wchar_t *

    有什么方法吗 我的电脑是AMD64 std string str BOOL loadU const wchar t lpszPathName int flag 0 当我使用时 loadU str VS2005编译器说 Error 7 err
  • 将 Word/PDF 文档从文件系统索引到 SQL Server

    我正在尝试为我遇到的问题提出一个简单的解决方案 因为到目前为止我发现的所有这些似乎都太复杂了 情况是我们使用专有应用程序来管理我们业务的大部分方面 它有一个SQL Server 2005后端数据库 该数据库相当大 该应用程序还允许将 Wor