ruby - 如何上传文本文档以及是否可以对其启用全文搜索?

标签 ruby ruby-on-rails-3 pdf full-text-search jrubyonrails

我正在使用以下技术:

  1. JRuby 1.7.4
  2. Rails 3.2.13
  3. Ubuntu 13.04
  4. DB2 C-Express
  5. Torquebox 服务器 2.3.0

我的目标是制作一个简单的 Controller ,实现以下功能:

  1. 上传文本文件(MS Word 格式、Open Office 或 Libre Office 格式)
  2. 对上传的文件执行全文搜索
  3. 在浏览器中将文本文件显示为 PDF

我已经搜索了可以帮助我实现这一目标的 gem ,并有以下问题:

  1. 存储文本文件的字段的列类型应该是什么。一般来说,我认为它应该是二进制类型。
  2. 是否可以使用 Sunspot 执行全文搜索?正如我所读到的,它似乎适用于文本类型的字段,而不是二进制类型的字段。
  3. 我读到了两个可以让我生成 PDF 的 gem。 Prawn gem,它增加了更多的灵活性和 PDFkit它可以从 HTML 页面生成 PDF。这些都可以用来显示文本文件吗?我想我应该首先以某种方式在 HTML 中显示,然后使用 PDF gem。

有人做过这样的事情吗?你能给我指出正确的方向吗?

最佳答案

我还没有完成您要求中的大部分事情,但我大量使用将 MS Word 文档转换为 XML 文档的文本解析器。也许我至少可以让您朝着正确的方向开始。

我们使用一个名为 POI, by Apache 的 Java 库这使得 DOC -> XML 转换成为一个简单的过程。由于您使用的是 JRuby,我想您将它集成到您​​的项目中会更容易,因为我们使用的是 MRI Ruby。这是一个 PITA,因为我们必须包含大量桥接器和其他垃圾才能使用 .jar 文件。

就我个人而言,我使用过 Carrierwave gem处理文件上传。上传文件并将其附加到模型非常简单。您只需使用 Carrierwave 生成​​器生成一个附加到模型中字段的 Uploader 类,将其配置为根据您的规范存储和处理文件,然后就可以获利!这些文档很棒,但如果您需要的话,我很乐意为您提供帮助。如果需要多文件上传,I explained in detail about how I accomplished it在另一个 SO 帖子中。

希望有帮助!

关于ruby - 如何上传文本文档以及是否可以对其启用全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643386/

相关文章:

ruby - 如何在以结构为参数的 Ruby FFI 方法中包装函数?

ruby-on-rails - Ruby on Rails 重复列名 : user_id: ALTER TABLE "articles" ADD "user_id" integer

ruby - 编码和解码 ruby​​ 符号

mysql - rake 中止 : db:schema:dump

ruby-on-rails - 通过 rails 中的链接将文本附加到当前 URL

ruby - 同时运行延迟作业和 Sidekiq

ruby-on-rails - 如何将新的种子数据添加到现有的Rails数据库

java - 在java中使用itext填写xfa pdf表单

html - 如何减小jspdf文档中pdf的大小

c# - 在 WPF C# 应用程序中将 XPS 转换为 PDF