我有一个 Piece 模型,其 bool 属性为 published。
我希望搜索结果只包含已发布的 Pieces: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 Controller 中的搜索方法,但我不确定执行此操作以维护当前搜索方法功能的正确方法。
使用 elasticsearch-rails gem 过滤 elasticsearch 结果的最佳方法是什么?
最佳答案
尝试这种格式:
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
关于ruby-on-rails - 如何使用 elasticsearch-rails gem 过滤查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142557/