我有一个具有已发布布尔属性的Piece模型。
我希望搜索结果只包含已发布的片段: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
从搜索周围看起来我应该覆盖Piece控制器中的搜索方法,但我不确定这样做的正确方法来维护当前的搜索方法功能。
使用elasticsearch-rails gem过滤弹性搜索结果的最佳方法是什么?
答案 0 :(得分:1)
你试过吗
var sendTo;
var emails = [];
// assign the sendTo based on whatever you're doing
if(sendTo == 'Tom'){
emails = ['one@domain.com','two@domain.com'];
for (var i = 0; i < emails.length; i++){
sendEmail = function() {
return Meteor.Mandrill.send({
to: 'yourreceiver@domain.com',
from: emails[i],
subject: subject,
html: html
});
}
}
}
它适用于我的一个ES模型
答案 1 :(得分:1)
请尝试以下格式:
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