gpt4 book ai didi

mysql - sunspot_solr 分组子句中未定义字段错误

转载 作者:行者123 更新时间:2023-11-29 14:23:59 27 4
gpt4 key购买 nike

我有属于类别的product_details表。 Product_details 具有 id、name、price、discount 和category_id 等字段,categories 表具有 id 和 name 等字段。我正在使用 mysql 数据库正在尝试根据category_id 进行组产品详细信息。为了进行分组,我提到了 https://gist.github.com/f987013b2feec5b28456 。但我收到以下错误:

RSolr::Error::Http - 400 Bad Request
Error: undefined field category_id

我的模型看起来像这样

    class ProductDetail < ActiveRecord::Base
belongs_to :category

searchable do
text :name
integer :category_id
end

end

我的 Controller 看起来像这样

def index
@search_res1=ProductDetail.search do

adjust_solr_params do |params|
params[:group] = true
params[:"group.field"] = "category_id"
params[:"group.format"] = "simple"
end

end.execute
@navurls=@search_res1.results
end

在我的日志文件中,我的情况是这样的

RSolr::错误::Http 在 ProductDetailsController#index 中

RSolr::Error::Http - 400 Bad RequestError:     undefined field category_idRequest Data: "fq=type%3AProductDetail&fq=category_id_i%3A%281%29&start=0&rows=30&group=true&group.field=category_id&group.format=simple&q=%2A%3A%2A"Backtrace: /home/toshiba/.rvm/gems/ruby-1.9.2-p290/gems/rsolr-1.0.8/lib/rsolr/client.rb:230:in `adapt_response'/home/toshiba/.rvm/gems/ruby-1.9.2-p290/gems/rsolr-1.0.8/lib/rsolr/client.rb:167:in `execute'/home/toshiba/.rvm/gems/ruby-1.9.2-p290/gems/rsolr-1.0.8/lib/rsolr/client.rb:161:in `send_and_receive' 

请帮助我。谢谢。

最佳答案

这里有两件事:

1.太阳黑子中的分组仅支持字符串字段。因此,将您的 searchable block 更改为以下内容:

class ProductDetail < ActiveRecord::Base
belongs_to :category

searchable do
text :name
string :category_id_str do
category_id.to_s
end
end
end

2.更改组参数以反射(reflect)属性名称更改:

def index
@search_res1=ProductDetail.search do
adjust_solr_params do |params|
params[:group] = true
params[:"group.field"] = "category_id_str_s"
params[:"group.format"] = "simple"
end
end.execute
@navurls=@search_res1.results
end

我假设太阳黑子在索引属性时会向该属性添加额外的 _s

关于mysql - sunspot_solr 分组子句中未定义字段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11337745/

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