gpt4 book ai didi

ruby-on-rails - PG_Search 和多个字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:41 24 4
gpt4 key购买 nike

我正在使用 pg-search 在模型中进行搜索。我遇到的问题是,如果我搜索一个字段或另一个字段中的关键字,它会起作用,但如果我输入我知道在我正在使用的 2 个字段中的关键字,它不会返回任何内容。

这是我的搜索结果

@providers = Provider.text_search(params[:query])

这是 helper

def self.text_search(query)
if query.present?
where("address @@ :q or conditions @@ :q", q: "%#{query}%")
else
scoped
end
end

总而言之...如果我输入 2 个地址关键字(即:邮政编码和街道名称)或 2 个条件关键字(即:全新)它有效,但如果我在搜索字段中输入邮政编码和新的它不返回任何东西

这里是查询

Provider Load (1.3ms)  SELECT "providers".* FROM "providers"  WHERE (address @@ '%new rancho%' or conditions @@ '%new rancho%')

编辑我忘了发布 pg_search_scope

pg_search_scope :search, against: [:address, :conditions], using: { tsearch: { dictionary: "english", prefix: true, any_word: true} }

最佳答案

在你的模型中尝试这样的事情

  include PgSearch

pg_search_scope :search, against: [:zipcode, :streetname],
using: {tsearch: {prefix: true, any_word: true}}

def self.text_search(query)
if query.present?
search(query)
else
scoped
end
end

关于ruby-on-rails - PG_Search 和多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com