delphi - 检索尽可能多的文件类型的txt内容

标签 delphi indexing dms

我维护一个用 Delphi/Sql Server 编写的客户端服务器 DMS。

我想允许用户在数据库中存储的所有文档中搜索字符串。 (文件存储为 blob,它们存储为压缩文件以节省空间)。

我的想法是在“ checkin ”上对它们进行索引,因此当我存储 nwe 文件时,我会提取其中的所有文本信息并将其放入新的数据库字段中。所以不知何故我的文件表将是:

ID_FILE integer
ZIPPED_FILE blob
TEXT_CONTENT text field (nvarchar in sql server)

我希望支持至少最常见的类似文本文件的“索引”,例如:pdf、txt、rtf、doc、docx、pdf,可能会添加 xls 和 xlsx、ppt、pptx。

对于 MS Office 文件,我可以使用 ActiveX,因为我已经在应用程序中使用了 ActiveX,对于 txt 文件,我可以简单地读取文件,但是对于 pdf 和 odt?

您能否建议最好的技术,甚至是可以“无所畏惧”地解析所有文件类型的第 3 方组件(也不是免费的)?

谢谢

最佳答案

以这种方式搜索文档会导致速度非常慢且使用起来不方便,我建议您生成两个附加表而不是 TEXT_CONTENT 字段。

当你解析文本时,你应该提取有值(value)的单词并尝试将它们标准化,以便你 - 摆脱小写/大写问题 - 删除可能互换使用的字符。
即,在土耳其语中,我们有 ç 字符,可以输入为 c。 - 去掉您所使用的语言中常见的动词。 即“我正在寻找的东西”、“东西”“正在寻找”可能符合您的兴趣 - 摆脱任何使用脸部的问题。

表中已有条目的每个单词都应重新使用 string_search 表中已给出的 ID。

记录可能如下所示。 原始文件表 zip ID 号 zip_file blob

字符串搜索 str_id 数字 standardized_word 文本(或具有适当二级索引的任何字符串类型)

文件字符串引用 zip ID 号 str_id 编号

我希望我能给你我的想法。

关于delphi - 检索尽可能多的文件类型的txt内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17272919/

相关文章:

java - 为大型企业推荐 DMS

aws-cloudformation - 如何通过 CloudFormation 模板安排 AWS EventBridge 启动 DMS 任务?

jquery - 文档管理系统编辑器

java - 将 HashMap 与流一起使用时进行索引

Python pandas 模糊时间索引

pascal - TAChart Fit系列的贴合度

database - Delphi 桌面应用程序的良好数据库需要推荐

mysql 解释和内部连接至少对我来说没有按预期工作

delphi - 通过提供凭据以编程方式登录

delphi - Delphi (CM_) 中的组件消息和自定义图形 DesignTime 组件