我正在尝试排除被删除的对象.. deleted_at是一个日期时间字段,如果该对象被删除,则它有一个时间戳,否则为零。
这是我的代码:
tire.search(load: true, page: params[:page], per_page: 2) do
query { string params[:query], default_operator: "AND" } if params[:query].present?
filter :missing, field: :deleted_at
end
但这对我的输出完全没有任何意义..
任何提示?
答案 0 :(得分:2)
因此,基本上有3个状态可以包含字段/属性。
null
如果我理解正确,您需要deleted_at
处于状态1或2的文档。我认为您需要创建相应的文档:
"filter" : {
"missing" : {
"field" : "deleted_at",
"existence" : true,
"null_value" : true
}
}
内部缺失过滤器将查找处于状态1(existence: true
)或状态2(null_value: true
)的所有文档。