【发布时间】:2014-08-29 11:37:48
【问题描述】:
我正在尝试使用 PostgreSQL 在 Ruby 中进行一些文本匹配。
这是我的代码:
require 'active_record'
require 'yaml'
require 'pg'
require 'pry'
$config = '
adapter: postgresql
database: edgar
username: YYYYY
password:
host: 127.0.0.1'
ActiveRecord::Base.establish_connection(YAML::load($config))
class Doc < ActiveRecord::Base; end
class Filing < ActiveRecord::Base; end
#Searching database edgar and table for key words
#install gem install pg_search
class Filing < ActiveRecord:: Base
include PgSearch
end
class Filing < ActiveRecord::Base
pg_search_score:search_eightks,
:against => [:cancer, heart attack]
end
我有几个问题:
- 如何搜索我的数据库的 eightks 表?
- 如何搜索多个单词?我想查看文档中是否包含“癌症”或“心脏病发作”一词。它不需要两者,只需要一个或另一个。
这是数据库中关系列表的样子:
埃德加=# \d 关系列表 架构 |姓名 |类型 |所有者 --------+-----------+----------+------ ------------ 公共 | crsp_ccm_lookup |表|年年 公共 |文档 |表|年年 公共 | docs_downloaded |表|年年 公共 | docs_id_seq |序列 |年年 公共 |文档类型 |表|年年 公共 | document_types_id_seq |序列 |年年 公共 |八点 |表|年年 公共 |备案|表|年年 公共 |归档_for_run |表|年年 公共 |归档_id_seq1 |序列 |年年 公共 |指数 |表|年年 公共 |索引_id_seq |序列 |年年 公共 | scraper_groups |表|年年 公共 | scraper_groups_id_seq |序列 |年年 公共 | ws |查看 |年年 公共 | ws_table |表|年年 公共 | z_docs_10_ks |表|年年 (17 行)理想情况下,当找到包含这些单词的文本文档时,我想将其复制到新文件夹中。
非常感谢任何帮助。
【问题讨论】:
-
不要创建像
$config这样的全局变量,除非您明白为什么需要全局变量,这非常罕见。使用它们暗示了变量作用域的味道以及缺乏对变量在 Ruby 中如何工作的理解。
标签: ruby postgresql