/ / ¿Cómo hacer condiciones con CASE CUANDO en SphinxQL? - php, mysql, búsqueda, esfinge

¿Cómo hacer condiciones con CASE CUANDO en SphinxQL? - php, mysql, búsqueda, esfinge

¿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 № 1

SphinxQL 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)