Estoy usando Searchkick con Elasticsearch para obtener productos con un término de búsqueda.
Estoy tratando de agregarle una cláusula WHERE NOT para que no devuelva ningún producto con un regular_price que sea nulo.
@products = Product.search( search, where: { regular_price: { not: "null" # I have also tried nil, both won't work } }, page: params[:page], per_page: per_page, ) La búsqueda ignora mi cláusula WHERE NOT .
También estaría agradecido por algunos consejos de depuración para esto.
Editar:
Así que intenté usar lo siguiente, pero ahora solo devuelve todos los productos que se ajustan a la búsqueda. Ignorando la parte WHERE NOT de la búsqueda.
@products = Product.search( search, where: { regular_price: { _not: "null" } }, page: params[:page], per_page: per_page, ) UPDATE:
No he encontrado una solución a este problema y seguí adelante con un enfoque diferente. Filtrando los productos con un regular_price de 0.
@products = Product.search( search, where: { regular_price: { _not: nil } }, page: params[:page], per_page: per_page, ) Simplemente reemplace "null" con nil y filtrará los productos que no tienen un precio regular.
Aún no he encontrado una respuesta. Debido a que no hay muchos productos que quiera filtrar con esta consulta, solo los filtro mientras renderizo.