我正在使用这个宝石进行弹性搜索:
gem 'elasticsearch-model', '0.1.9'
gem 'elasticsearch-rails', '0.1.9'
我的模型A有字段名称id,名称,价格
模型B,a_id,名称,大小
模型C,带有b_id,名称,等级("低","高")。
在模型A中,我添加了这样的索引:
def as_indexed_json(options={})
as_json(
only: [
:id, :name, :price
],
include: {:b => [include: [:c => {only: [:rating]} ]}
)
end
我想要不有" High"评价
我已在控制器中编写此方法,但它无法正常工作。
A.search(query:
bool:{
must_not: [
{
nested: {
path: "b",
query: {
bool: {
must: [
{
term" => {
"b.c.rating" => "High"
}
}
]
}
}
}
}
]
}
).results
提前致谢