Ruby on rails 如何使用searchkick进行逻辑操作的复杂查询
Iam使用searchkick库作为elasticsearch客户端进行产品搜索。 可以创建“或”条件和“和”条件 和操作 Product.search其中:{price:{lte:200},in_stock:true} 或操作 Product.search其中:{或:[{in_stock:true},{backordered:true}]} 但我坚持用searchkick创建多个“AND”或“条件 我需要像这样的东西 A或B或(C和D) 或者我需要像这样 A和B以及(C或D) 请指导我,如何做到这一点 谢谢A或B或(C和D) A和B以及(C或D) 更新 (A或B)及(C或D)Ruby on rails 如何使用searchkick进行逻辑操作的复杂查询,ruby-on-rails,ruby,
elasticsearch,logical-operators,searchkick,Ruby On Rails,Ruby,
elasticsearch,Logical Operators,Searchkick,Iam使用searchkick库作为elasticsearch客户端进行产品搜索。 可以创建“或”条件和“和”条件 和操作 Product.search其中:{price:{lte:200},in_stock:true} 或操作 Product.search其中:{或:[{in_stock:true},{backordered:true}]} 但我坚持用searchkick创建多个“AND”或“条件 我需要像这样的东西 A或B或(C和D) 或者我需要像这样 A和B以及(C或D) 请指导我,如何
找到答案A或B或(C和D)产品。搜索地点:{OR:[{品牌:'nike'},{库存:true},{价格:{lte:12},颜色:'red'}]}A和B以及(C或D)产品。搜索地点:{品牌:'nike',库存:true,或:[{价格:{lte:12},{颜色:'red'}]}你应该回答你自己的问题。通过这种方式,您可以通过突出显示答案并指出此问题已解决来帮助社区。您还将获得积分;)为什么地狱或条件有两个方括号,我花了这么多时间才弄明白它有两个方括号。谢谢汉克斯·迪亚斯。你是否知道如何做(A或B)和(C或D)应该在官方文件中。救生员
Product.search where: {or: [[{brand: 'nike'}, {in-stock: true}, {price: {lte: 12}, color: 'red'}]]}
Product.search where: {brand: 'nike', in-stock: true, or: [ [{price: {lte: 12}}, {color: 'red'}] ]}
Product.search where: {or: [[ {or: [[{brand: "nike"}, {in-stock: "true"}]]}], [{or: [[{price: 100}, {color: "red"}]]}]]}