太阳黑子 solr "No field configured for User with name 'C2'"
Sunspot solr "No field configured for User with name 'C2'"
我想在我的太阳黑子搜索中添加排序。无需订购搜索即可完美运行。
这是我的搜索方法:
def search
@search = User.search do
keywords params[:q]
paginate page: params[:page]
order_by(:C2, :desc)
end
@users = @search.results
respond_to do |format|
format.html { render :action => "index" }
end
end
我的用户模型
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
end
end
所以我得到
No field configured for User with name 'C2'
在order_by行
另外我认为问题的原因可能是 C2 是文本,而不是字符串,所以我做了下一个 hack:
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
string :sort_title do
C2.downcase
end
end
end
为了在控制器中添加 order_by (:sort_title, :desc)
,但出于某种原因,当我重新索引时,我得到:
NameError: uninitialized constant User::C2
我做错了什么?
试试这个:
searchable do
text :C1
text :C2
string :sort_title do |user|
user.C2.downcase
end
end
然后尝试重建索引,应该会很顺利..
我想在我的太阳黑子搜索中添加排序。无需订购搜索即可完美运行。 这是我的搜索方法:
def search
@search = User.search do
keywords params[:q]
paginate page: params[:page]
order_by(:C2, :desc)
end
@users = @search.results
respond_to do |format|
format.html { render :action => "index" }
end
end
我的用户模型
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
end
end
所以我得到
No field configured for User with name 'C2'
在order_by行
另外我认为问题的原因可能是 C2 是文本,而不是字符串,所以我做了下一个 hack:
class User < ActiveRecord::Base
searchable do
text :C1
text :C2
string :sort_title do
C2.downcase
end
end
end
为了在控制器中添加 order_by (:sort_title, :desc)
,但出于某种原因,当我重新索引时,我得到:
NameError: uninitialized constant User::C2
我做错了什么?
试试这个:
searchable do
text :C1
text :C2
string :sort_title do |user|
user.C2.downcase
end
end
然后尝试重建索引,应该会很顺利..