从 Rails 应用程序(Word、PDF、Excel 等)搜索附件

2024-02-15

我在 Stack Overflow 上发表的第一篇文章,请温柔一点!我即将为客户启动一个新的 Ruby on Rails (3.1) 项目。他们的要求之一是有一个搜索引擎,该引擎将索引大约 2,000 个文档,这些文档是 PDF、Word、Excel 和 HTML 的混合体。

我曾希望使用thinking-sphinx或Texticle(最流行的https://www.ruby-toolbox.com/categories/rails_search.html https://www.ruby-toolbox.com/categories/rails_search.html)但据我了解:

  • Textile 需要 PostgreSQL。我在MySQL上。
  • Thinking-sphinx 不会在文件系统上索引文件。
  • 即使我将附件保存到数据库中,thinking-sphinx 仍然无法工作,因为它需要纯文本(根据http://groups.google.com/group/thinking-sphinx/browse_thread/thread/69cdc1c8e1c096ff http://groups.google.com/group/thinking-sphinx/browse_thread/thread/69cdc1c8e1c096ff)

所以我有两个选择:

  1. 选择不同的搜索工具
  2. 尝试将附件的纯文本版本提取到数据库中以供thinking-sphinx读取

您推荐哪种方法?

如果是不同的搜索工具,是哪一个?我的要求非常基本,所以我真的很想要一个非常容易设置并且有大量文档、示例和教程的工具!

如果是提取,您能推荐常见文件类型(例如 PDF、Word、Excel 和 HTML)的提取器吗?

感谢大家。非常感谢您的帮助。


好吧,我以前没有做过二进制文件索引,但显然 Solr 支持它,请参阅使用 SPHINX/ultrasphinx 索引文件 https://stackoverflow.com/questions/5389267/indexing-files-with-sphinx-ultrasphinx and http://wiki.apache.org/solr/ExtractingRequestHandler http://wiki.apache.org/solr/ExtractingRequestHandlerSolr 有很多可用的 gem,Sunspot 似乎是一个流行的http://outoftime.github.com/sunspot/ http://outoftime.github.com/sunspot/尽管 Sunspot 似乎没有内置对 Solr Cells 的支持,但似乎还有一些工作要做https://github.com/tomasc/sunspot_cell https://github.com/tomasc/sunspot_cell可能有更好的选择,但这应该为您提供一个良好的起点。

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

从 Rails 应用程序(Word、PDF、Excel 等)搜索附件 的相关文章

  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • Rails 4 i18n,如何转换子域用于区域设置的路由

    我正在使用子域来确定 Rails 4 网站中的区域设置 我完全按照我想要的方式使用区域设置切换器 但现在我需要翻译路线 并且我不确定继续的最佳方法 我看过https github com kwi i18n routing https git
  • 如何在 Rails 3.2.1 版本中注释 Rails 模型

    我正在尝试遵循一些在线教程来在 Rails 中注释我的模型 然而 似乎所有教程都在谈论过时的注释版本或不正确的安装 这真是一团糟 到目前为止我已经尝试过以下方法 1 在 Gemfile 中添加此内容 gem annotate 2 4 0 2
  • 获取设备中的当前用户ID

    如何使用设备获取控制器中的当前用户 ID 在我的控制器中我有这样的东西 def index me current user c User find me sheets c time sheets end 我收到一条错误消息 无法找到没有 I
  • Rails 注释分段错误

    有一些问题围绕着这个问题 但没有什么真正能满足我的需求 After I bundle install下面列出了我的 Gemfile 我运行annotate并出现以下错误 Users nickcoelius rvm gems ruby 1 8
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 在rails中,如何将记录作为csv文件返回

    我有一个名为 Entries 的简单数据库表 class CreateEntries lt ActiveRecord Migration def self up create table entries do t t string firs
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • 遵循 http://ruby.railstutorial.org/ 教程时出现 RSpec 错误

    我到处搜索但似乎找不到解决方案 我一直在关注有关的教程http ruby railstutorial org http ruby railstutorial org 我在第 3 章中尝试使用 rspec spec 执行测试 但是我不断收到以
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • Rails 3 在 Ruby 1.9.2 上初始化非常慢

    我使用 RVM 来管理环境 安装了 Ruby 1 9 2 p136 我认为是最新版本 和 Rails 3 创建了 gemset 并运行捆绑器 到目前为止一切正常 但 Rails 在运行命令 即生成 销毁 rake 等 时初始化速度非常慢 完
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • (Rails) Assert_Select 的烦人警告

    有谁知道如何让assert select在rake测试期间不输出所有那些讨厌的html警告 你知道 就像这样的东西 ignoring attempt to close body with div opened at byte 1036 li
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • Rails:named_scope、lambda 和块

    我认为以下两个是等效的 named scope admin lambda company id conditions gt company id company id named scope admin lambda do company
  • rvm gem 安装错误?

    我正在摆弄 ruby gems 和 rvm 它工作得很好 但现在当我尝试安装 gem 时出现错误 gem install Rails错误 同时 执行 gem Errno EACCES 权限被拒绝 Users da rvm gems ruby
  • 使用 rspec 测试嵌套路由

    我正在尝试使用 rspec 测试路由 以下给出了 预期块返回真值 的错误 我不确定我错过了什么 通过浏览器我可以发布到这个网址并且成功 有任何想法吗 谢谢 Routes resources forum topics do resources
  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu

随机推荐

  • 通过 Socket 发送 numpy 数组

    首先 我想做的是 使用套接字将照片从我的 Raspberry Pi 发送到我的笔记本电脑 Client usr bin python import socket import cv2 import numpy as np import pi
  • 如何使用 jQuery 禁用表单内的所有

  • 是否可以让 OpenGL 在内存表面上绘图?

    我开始学习 OpenGL 我想知道是否可以让它在我通过其他库获得的视频内存缓冲区上绘制 要绘制到视频内存中 您可以使用帧缓冲对象 http www songho ca opengl gl fbo html绘制到 OpenGL 纹理或渲染缓冲
  • 在 Angular 4+ 中处理两个 URL(矩阵 && 查询)参数

    目前我们在我的 Angular 4 应用程序中使用矩阵参数 Google Analytics 在读取 URL 时出现问题 所以我们决定将其更改为查询参数 然而 旧的符号 矩阵 必须可访问并重定向到新的符号并将此类事件保存到数据库中 我看到三
  • 如何在 WinApi 中从 HANDLE 生成 FILE*?

    有没有一种简单的方法可以从 WinApi HANDLE 创建指向管道一端的 FILE 就像我们在 unix 中所做的那样 fdopen fd
  • Java jar-Archive 工具 - 设置包含内容的文件夹的路径

    当我使用这个命令时 echo C Program Files Java jdk1 7 0 07 bin jar cf C file file jar C data 在 jar Archive 工具的 CMD 中 它会创建名为 file ja
  • Linus 演讲 - Git 与数据损坏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 Android 通知 Intent 中不发送额外数据(整数)?

    以下代码显示通知并发送 int 数据 但在其他活动中getExtras 回报null Why int notificationID 1 NotificationManager nm NotificationManager getSystem
  • CoreBluetooth 从不在 iPhone 5S 上调用 didDiscoverServices

    大多数时候 我们正在编写的应用程序与我们的 BLE 外设配合得很好 通常 对于 iPhone 5S 用户来说 设备会陷入恐慌 每当我们扫描服务时 didDiscoverServices 永远不会调用委托方法 重新启动设备或删除所有设置 常规
  • 自定义 IPython 笔记本/Jupyter 幻灯片放映

    我使用 IPython Notebook Jupyter 的幻灯片功能创建了一个幻灯片 效果很好 我通过以下方式创建并托管了幻灯片ipython nbconvert 这也很好用 但我找不到任何如何自定义幻灯片的信息 显然我必须定制Revea
  • 如何在 flutter/dart 中进行 SSL 公钥固定?

    这里对 Flutter 以及一般编程 来说相对较新 只熟悉更基本的东西 但我现在遇到了在 flutter dart 中使用 CertificatePinner 的需要 https square github io okhttp 3 x ok
  • t-sql子串

    我基本上有一列需要进行子串化 该列的格式如下所示 Column A Root FOLDERPATH somesubfolderpath somedocument doc 第一个字符串 Root 将始终具有相同的长度和相同的字符 Root 之
  • ORB 计算错误:它删除了小图像的所有关键点

    我有一个 50x50 的小图像 我找到 ORB 关键点 请注意 我必须将 patchSize 的默认参数从 31 更改为 14 才能检测到一些关键点 OrbFeatureDetector det 500 1 2f 8 14 0 2 0 14
  • 会话在 IHttpModule 中不可用

    在我的程序中 我尝试在 IHttpModule 中使用会话变量 这是我的代码 这在 VS 2010 开发服务器中运行良好 但是当我尝试在 IIS7 中调试时 它显示异常System Web HttpException Session sta
  • 打开工作簿时关闭 Excel 后台错误检查

    我有一个 Excel 工作簿 里面有很多绿色的 错误检查 三角形 有什么方法可以使用 Excel VBA 在打开工作簿时关闭此功能 我认为这就是您正在寻找的 Application ErrorCheckingOptions Backgrou
  • Mongodb 聚合框架解释

    MongoDB 中的聚合框架有解释函数吗 我在文档中看不到它 如果没有 是否有其他方法可以检查查询在聚合框架内的执行情况 我知道你只是做 db collection find explain 但是使用聚合框架时出现错误 db collect
  • 使用 OraOLEDB 提供商部署应用程序

    我开发了一个使用Delphi 7 ADO和ORACLE的应用程序 我使用的提供程序是OraOLEDB 我需要使用这个提供程序 因为BLOB字段支持 现在我想与提供商一起分发此应用程序 我在网上搜索下载甲骨文提供商 http www orac
  • 使用 LLVM pass 添加内在函数

    我使用 LLVM 通道向输入代码添加了一个内在函数 我能够看到内部调用 但我无法弄清楚如何将代码编译到我的目标架构 x86 64 我正在运行以下命令 clang llvm config ldflags libs all ff s o foo
  • GNU 编译器优化

    我对编译器了解不多 但知道它们足够复杂和智能 可以优化您的代码 假设我的代码如下所示 string foo bar for int i 0 i lt foo length i some code that does not modify t
  • 从 Rails 应用程序(Word、PDF、Excel 等)搜索附件

    我在 Stack Overflow 上发表的第一篇文章 请温柔一点 我即将为客户启动一个新的 Ruby on Rails 3 1 项目 他们的要求之一是有一个搜索引擎 该引擎将索引大约 2 000 个文档 这些文档是 PDF Word Ex