我有一个块模型,它的布尔属性为published。
我希望搜索结果只包含plublished: true的部分。
我对PiecesController的索引操作是:
def index
@list = params[:list]
@sort = params[:sort]
if params[:q]
@pieces = Piece.search(params[:q]).records
else
@pieces = Piece.all_in_category(@list, @sort)
end
end从周围的搜索来看,我似乎应该覆盖块控制器中的搜索方法,但我不确定这样做的正确方式,以保持当前的搜索方法的功能。
使用elasticsearch-rails gem过滤elasticsearch结果的最佳方式是什么?
发布于 2016-11-29 06:29:56
尝试此格式:
Elasticsearch v2.4
@customers = Customer.__elasticsearch__.search(
query: {
bool: { filter: {
term: {"account_id" => current_account.id.to_s}
},
must: {
query_string: {
query: "*#{params[:q]}*"
}
}
},
},
size: options[:per_page],
from: options[:from]
).records发布于 2015-07-01 05:22:25
你试过了吗?
@pieces = Piece.search(params[:q]).records.where(published: true)它可以在我的一个ES模型上工作
https://stackoverflow.com/questions/31142557
复制相似问题