问题标签 [pg-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
406 浏览

ruby-on-rails - 如何从 String 上的 Monkeypath 内部设置会话变量

我收到以下错误...

...当我尝试从 String 类的猴子补丁中设置会话变量时。(这是必要的,以便我可以跟踪延迟工作中的工作进度,以便仅在准备好时加载我的搜索结果。)

如何在那里设置会话变量?还是有更好的解决方案?

我的代码...

/config/initializers/string.rb

/app/views/searches/show.html.haml

**/app/views/layouts/application.html.haml:

/app/controllers/searches_controller.rb

0 投票
1 回答
297 浏览

ruby-on-rails - 为什么我不能保存具有序列化属性的对象?

我有...

/app/models/search.rb

/db/schema.rb

当我尝试 `self.save?

我在测试时遇到类似的错误result.serialize

我怎样才能解决这个问题?

0 投票
1 回答
453 浏览

ruby-on-rails - 无法使用 pg_search gem 从 Postgres 中检索摘录

更新

首先,没有方法“上下文”。那是我的大脑在某个时候编造出来的一个词,并坚持了下来。显然我应该一直在运行 .excerpt()。其次,我是针对返回的数组运行命令,而不是针对 PG_Search::Document 的单个实例

双重错误,但是代码确实有效。

结束更新

首先是一些系统信息:

  • 红宝石 1.9.3p194
  • 导轨 3.2.13
  • pg_search 0.5.7
  • Postgres 9.2.3(启用非重音)

我正在尝试跟踪此线程中取得的进展:(如何显示 pg-search 多搜索结果的摘录

好的,假设使用从该帖子中抄录的以下查询:

返回:

它成功返回了一些搜索结果,但它们根本没有该context方法。就好像我只是在multisearch没有select方法的情况下调用了。

我是 SQL 和 Postgres 的新手,所以我不确定从哪里开始调试该代码段。我希望得到一些帮助调试或解释正在发生的事情。

另外,我认为很重要的一点是,我要感谢从事 pg_search 工作或回答此类问题的任何人。你让世界变得更美好。

0 投票
1 回答
509 浏览

ruby-on-rails - 为什么我不能在 Heroku 中删除和重建整个搜索数据库?

在 localhost 和我的 Heroku staging 应用程序上,pg_search 工作得很好。

在我的 Heroku 产品应用程序中,除了参考模型(我仍想包含)之外,pg_search 仍然显示我的脚注模型(我不再想包含)的搜索结果。

我有...

我已从include PgSearch我的/app/models/footnote.rb.

我的流程从手动将一些工作人员分配给应用程序开始。(我通常使用 workless 自动执行此操作。)

然后我做:

#<PG::Result:0x00000006c849b0>尽管我刚刚要求 pg_search 索引 53 个文档,每个文档包含 3000 到 15,000 个单词,但最后一步会立即返回结果。

我可以假设重建过程正在进行中吗?是否有某种方法可以确认它何时完成,以便我可以缩减工作进程?(我是否需要为此分配工作进程?)

顺便说一句,以下方法也只需要几秒钟,这似乎不对:

在所有这些尝试之后,我仍然在搜索结果中获得了脚注模型的实例。我怎样才能摆脱它们?

0 投票
1 回答
143 浏览

pg-search - 尝试将文本搜索链接到使用 group_by 的连接表上的搜索时引发错误

我有三个模型,故事,帖子和标签。Story 与 Post 是一对多的关系,与 Tag 是多对多的关系。

我使用以下范围来搜索至少有一个标签与一组标签匹配的故事:

请注意,我使用 GROUP_BY 以便如果该故事具有多个匹配标签,则范围不会多次返回该故事。

我使用以下 pg_search_scope 搜索具有指定文本的故事或帖子:

这两个范围都可以彼此独立地正常工作。但是,当我尝试将它们链接在一起时,我遇到了 postgreSQL 错误:

有没有办法将 pg_search 与需要带有 GROUP_BY 子句的连接表的范围一起使用?

0 投票
2 回答
2122 浏览

ruby-on-rails - 添加前缀匹配到 pg_search

我正在关注这个Railscasts 插曲。

如果我搜索“Kerber”,它确实会返回正确的文章。但如果我搜索“Ke”,它不会返回同一篇文章。

有办法解决这个问题吗?

0 投票
1 回答
178 浏览

ruby-on-rails - Rails 全文搜索对“标准”查询的适用性

诸如Ransack之类的 Gem可以轻松搜索模型,但对于描述或评论等全文字段显然效果不佳,因此我一直在考虑使用pg_search进行所有搜索(不想混合和匹配搜索解决方案(如果可能)针对任何文本字段(名称、描述、评论等)并始终进行全文搜索,因为我可以搜索任何文本字段并获得更好的结果。以这种方式使用全文搜索有什么问题吗?

0 投票
0 回答
181 浏览

ruby-on-rails - 如何配置 pg_search 以通过 Rails 中的委托搜索属性?

我有一个User模型,它通过对模型的委托获取诸如 first_name、last_name 等属性Profile

我希望能够搜索属于用户的另一个模型,服务。

如何在我的Service模型中设置 pg_search_scope 配置,以便可以搜索 first_name、last_name?这是我目前拥有的,但它不起作用。

我收到此错误:

0 投票
1 回答
491 浏览

ruby-on-rails - 在 pg_search 查询之后列出可搜索的值

有没有办法从模型而不是索引表条目中获取 pg_search 结果?我的代码有效,但我必须遍历结果。

0 投票
1 回答
2520 浏览

ruby-on-rails - Rails:不能包含 pg_search Gem 提供的 PgSearch 模块

总结一下 :

Gem pg_search 提供的模块 PgSearch 无法在 staging 环境(Rbenv、nginx、unicorn、capistrano)中包含、必需或加载,该问题通过 http 发生在 Web 服务器上,但未出现在 staging 服务器的 rails 命令上。可以包含其他 gem 提供的其他模块而不会出错。

在本地开发环境(rvm、puma)上没问题。

细节

我目前正在使用 ruby​​ 2.0.0 开发一个 Ruby On Rails 4.0 应用程序,其中 git 存储库托管在 bitbucket 上。我使用 capistrano 通过登台服务器部署应用程序。

  • 暂存服务器环境:rbenv、nginx 和 unicorn
  • 本地开发环境:rvm 和 puma

两者的 rails 环境文件(environment/production.rb 和 environment/staging.rb)是相同的。

我做了什么:

我已经安装了 pg_search gem(一个 PostgreSQL 全文搜索 gem),方法是将它添加到我的 Gemfile 中,并将子句“include PgSearch”放在我想与 pg_search gem 一起使用的 Active Record 模型中

我已经在开发模式下运行了该应用程序......它可以工作!

问题 :

将更改部署到登台服务器后:通过 http 服务器,我收到此错误:

App::MyController#index 中的 NameError 未初始化常量 MyActiveRecordModel::PgSearch

(通常,包含在 GemFile 中的这个 pg_search gem 应该在自动加载搜索路径中包含它的 lib/*.rb 文件和一个像 load "pg_search.rb", require"pg_search" 或"include PgSearch"的子句(包含的模块在 pg_search.rb 文件中)应该通过。

为了找到修复错误的线索,我有:

- 尝试是否可以包含 gem 提供的其他模块......它有效

在进入登台服务器的当前发布路径后,我运行“bundle exec rails c staging”并尝试:

  • 看看 ActiveRecord 模型(我包括 PgSearch)实例化是否有效。

  • 查看是否可以在服务器上找到/加载 gem 提供的模块并且我已执行 - 包括 PgSearch 并需要“pg_search”并加载“pg_search.rb”。

所有这些命令都是成功的。

我没有办法找到其他线索,请问您有什么建议吗?

谢谢你。