【发布时间】:2013-04-26 07:15:05
【问题描述】:
我正在使用 sphinx xmlpipe 和 rake 任务搜索 ms 单词文件,以便为他获取格式化的 xml。当我遇到问题时。基本上我所做的是用 MIME::Types.type_for 检测文件类型,如果这个文件 doc 或 docx 用 catdoc 读取它或提取它的 word/document.xml,问题是当任务返回 xml 中的特定条目时,sphinx 无法索引,他以 xml 解析错误结束:
XML parse error: not well-formed (invalid token)
当我查看返回的任务时,我发现索引在看起来像二进制数据条目的行上中断。 我可以从文本中过滤二进制数据,或者至少用它们检测文档,以便 sphinx 可以完成索引?
【问题讨论】:
-
好吧,好像没人知道答案。在谷歌搜索了一段时间后,我最终使用了 antiword 而不是 catdoc,他似乎可以理解并从文本中裁剪图像。我也放弃使用 MIME::Types for unix "file" 实用程序,因为它提供更准确的结果并且不依赖于文件扩展
标签: ruby parsing filter rake sphinx