¿Cómo puedo establecer la condición para la búsqueda de Sphinx? En mi código MySQL personalizado, que es el siguiente.
¿Cómo puedo volver a codificarlo como búsqueda de Sphinx?
$condition = "(CASE WHEN related_type ="Course" THEN related_id = 1
ELSE related_id IN(2,3,4)
END)";
Respuestas
1 para la respuesta № 1SphinxQL tiene un IF()
Función que puede ser utilizada de manera similar.
Por ejemplo:
SELECT *, IF(related_type="Course", related_id=1, IN(related_id, 2,3,4) ) AS filter
FROM myindex WHERE filter = 1
Las funciones deben estar en el SELECT
parte, no en WHERE
(También note la sintaxis ligeramente diferente para IN()
. En la esfinge es una función)