- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 Rails 4.2.4 与 pg_search 1.0.5 一起使用。
class Advert < ActiveRecord::Base
include PgSearch
multisearchable :against => [:title, :body]
end
:created_at
对 pg_search 结果进行排序我的广告记录的日期。从逻辑上讲,在我看来,以下内容可以工作(
:asc
):
> @pgs = PgSearch.multisearch('55948189').order(created_at: :asc)
PgSearch::Document Load (136.1ms) SELECT "pg_search_documents".* FROM "pg_search_documents" INNER JOIN (SELECT "pg_search_documents"."id" AS pg_search_id, (ts_rank((to_tsvector('simple', coalesce("pg_search_documents"."content"::text, ''))), (to_tsquery('simple', ''' ' || '55948189' || ' ''')), 0)) AS rank FROM "pg_search_documents" WHERE (((to_tsvector('simple', coalesce("pg_search_documents"."content"::text, ''))) @@ (to_tsquery('simple', ''' ' || '55948189' || ' '''))))) AS pg_search_ce9b9dd18c5c0023f2116f ON "pg_search_documents"."id" = pg_search_ce9b9dd18c5c0023f2116f.pg_search_id ORDER BY pg_search_ce9b9dd18c5c0023f2116f.rank DESC, "pg_search_documents"."id" ASC, "pg_search_documents"."created_at" ASC
=> #<ActiveRecord::Relation [
#<PgSearch::Document id: 3148, content: "Aleksandra | Tallinn | 55948189 Simpatichnaja i se...", searchable_id: 3148, searchable_type: "Advert", created_at: "2015-10-01 11:44:06", updated_at: "2015-10-01 11:44:30">,
#<PgSearch::Document id: 3275, content: "Aleksandra | Tallinn | 55948189 Simpatichnaja i se...", searchable_id: 3275, searchable_type: "Advert", created_at: "2015-10-02 11:05:49", updated_at: "2015-10-02 11:28:48">]>
:desc
)会产生相同的结果:
> @pgs = PgSearch.multisearch('55948189').order(created_at: :desc)
PgSearch::Document Load (108.4ms) SELECT "pg_search_documents".* FROM "pg_search_documents" INNER JOIN (SELECT "pg_search_documents"."id" AS pg_search_id, (ts_rank((to_tsvector('simple', coalesce("pg_search_documents"."content"::text, ''))), (to_tsquery('simple', ''' ' || '55948189' || ' ''')), 0)) AS rank FROM "pg_search_documents" WHERE (((to_tsvector('simple', coalesce("pg_search_documents"."content"::text, ''))) @@ (to_tsquery('simple', ''' ' || '55948189' || ' '''))))) AS pg_search_ce9b9dd18c5c0023f2116f ON "pg_search_documents"."id" = pg_search_ce9b9dd18c5c0023f2116f.pg_search_id ORDER BY pg_search_ce9b9dd18c5c0023f2116f.rank DESC, "pg_search_documents"."id" ASC, "pg_search_documents"."created_at" DESC
=> #<ActiveRecord::Relation [
#<PgSearch::Document id: 3148, content: "Aleksandra | Tallinn | 55948189 Simpatichnaja i se...", searchable_id: 3148, searchable_type: "Advert", created_at: "2015-10-01 11:44:06", updated_at: "2015-10-01 11:44:30">,
#<PgSearch::Document id: 3275, content: "Aleksandra | Tallinn | 55948189 Simpatichnaja i se...", searchable_id: 3275, searchable_type: "Advert", created_at: "2015-10-02 11:05:49", updated_at: "2015-10-02 11:28:48">]>
:created_at
对我的搜索结果进行排序日期?
pg_search
固定结果的顺序没有任何方法可以通过“created_at”进行订购?
最佳答案
有一个简单的答案,但它不适用于“multisearchable”。
首先,我需要从“multisearchable”(适用于多个模型)更改为“pg_search_scope”(仅在单个模型中搜索)。
其次,我需要使用 :order_within_rank
.由于结果都是搜索词的100%匹配,根据pg_search
它们的排名相同。 . :order_within_rank
作为决胜局给出次要的排名。
class Advert < ActiveRecord::Base
include PgSearch
pg_search_scope :search_by_full_advert,
:against => [:title, :body],
:order_within_rank => "adverts.created_at DESC"
end
关于ruby-on-rails - pg_search : ordering of "multisearchable" results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907692/
在我的应用程序中,我有许多模型,我想向其中添加多重搜索,我觉得我已经完成了所需的一切,但是在控制台中,当我运行以下命令时,我得到一个空的 []。 PgSearch.multisearch("Red")
在我的应用程序中,我有许多模型,我想向其中添加多重搜索,我觉得我已经完成了所需的一切,但是在控制台中,当我运行以下命令时,我得到一个空的 []。 PgSearch.multisearch("Red")
Ruby on Rails 新手。我正在尝试使用 pg_search gem 但遇到了一些困难(是的,我正在查看文档)。我想要一个包含文本字段和选择字段(类别)的搜索表单。这是我到目前为止的代码: c
我正在关注 this Railscasts 插曲。 如果我搜索“Kerber”,它会返回正确的文章。但是,如果我搜索“Ke”,它不会返回同一篇文章。 有办法解决这个问题吗? class Item <
我正在使用 pg-search 在模型中进行搜索。我遇到的问题是,如果我搜索一个字段或另一个字段中的关键字,它会起作用,但如果我输入我知道在我正在使用的 2 个字段中的关键字,它不会返回任何内容。 这
当尝试在文档中查找“Harrison Ford”时,pg_search 将返回任何包含“Harrison”和“Ford”的文本,例如: pg_search_scope :search_by_ful
我的“ Assets ”模型有一个搜索页面,除了搜索特定于“serial_no”字段的任何内容之外,一切正常。 Assets .rb # == Schema Information # # Table
我的模型有以下范围: class Cloth :destroy pg_search_scope :full_search, associated_against: { clo
我正在尝试在我的 Rails 应用程序中使用 pg_search gem 从一个搜索栏中搜索大量模型。 我添加了搜索栏:
我有一个使用 pg_search 的 Rails 应用程序gem 以利用 PostgreSQL 的全文搜索功能。 手册中提到搜索具有(例如)has_many 关系的模型: Searching thro
我正在尝试在我的 Rails 应用程序中实现全文搜索。我使用 PostgreSQL 作为数据库,因此,使用 PostgreSQL 的全文搜索功能。我有两个模型 Users 和 Scoreboards,
我正在使用 Rails 4.2 中的 pg_search gem 来搜索模型中的名称。我有以下内容: pg_search_scope :search_for_dashboard, lambda
我正在使用 gem pg_search在我的 postgres 数据库上执行全文搜索。我有这样的范围: pg_search_scope :fulltext, against: [:firstname,
这是我的pg_search 方法: pg_search_scope :node_search, against: [:name, :user_id, :circa, :cached_tagged_
我有一个 Node 类,我在上面设置了 acts_as_taggable,所以我可以将 user_tags 添加到任何节点。我的 Node 模型也有一个方法,可以查找 user_tag_list 中所
我在我的 Node 模型上实现了 PgSearch,如下所示: include PgSearch pg_search_scope :node_search, against: [:name, :use
有没有办法从模型而不是索引表条目中获取 pg_search 结果?我的代码有效,但我必须遍历结果。 search = PgSearch.multisearch(params[:search]) @it
我正在使用 pg_search 并尝试在标题中搜索特殊字符。 例如,我有两行包含此信息: id title 1 GT40 2 #GT40 所以当我搜索“#GT40”时,pg_se
我将 Rails 4.2.4 与 pg_search 1.0.5 一起使用。 class Advert [:title, :body] end 我想按 :created_at 对 pg_search
我正在使用这个 stackoverflow answer尝试为我的 Rails 应用程序实现 Twitter Typeahead,我还尝试实现 Github自述文件,但当我在文本框中输入内容时没有文本
我是一名优秀的程序员,十分优秀!