我有一个属于帐号的课程模型。
公共课程有一个零账号。
私人课程在account_id中有值。
如何为公共和私人课程中的某些搜索字词编写课程搜索?
LessonContentBlock.search(
:load => true,
:page => (params[:page] || 1)
) do
query do
boolean do
should { string q }
filter :missing => { :field => 'account_id' }
should { string "account_id:#{a.id}" }
end
end
end
我也试过这个:
LessonContentBlock.search(
:load => true,
:page => (params[:page] || 1)
) do
query { string q }
filter :missing, :field => 'account_id'
filter :term, :account_id => a.id
end
答案 0 :(得分:1)
如果我理解你的问题,那么你想做这样的事情:
LessonContentBlock.search(
:load => true,
:page => (params[:page] || 1)
) do
query { string q }
filter :or, {:term => {:account_id => a.id}},
{:missing => {:field => 'account_id'}}
end
我以为我知道如何解决这个问题,但我自己努力工作。最终在Tire的测试套件中找到了一个很好的例子:http://git.io/v0PGBw。