La esfinge de los Filtros - ¿puedo tener una 'O' entre los atributos de filtros?
Pregunta
Yo estoy usando la esfinge a la lista mí algunos de los artículos de mi base de datos aquí.Es casi del 100%, no he averiguado todavía cómo crear un OR
entre los dos filtros diferentes.Por ejemplo:
Mi Objeto en la base de datos tiene un inicio y una fecha de fin, puedo filter(starting_date, x, y)
y filter(ending_date,x,y)
, pero ambos filtros se tienen que devolver true para que me traiga el objeto, ¿cómo puedo decir a la esfinge de filtro de este atributo, o que uno?
Solución
Esfinge utiliza | para o
como en "negro" o "blanco" habría "negro" | "blanco" http://www.sphinxsearch.com/docs/manual- 0.9.9.html # boolean-sintaxis
Otros consejos
formuladas y contestadas en los foros de Sphinx.
Sólo es posible en 0.9.9, utilizando la SetSelect.
No hay manera de tener OR
lógica a través de diferentes atributos en Sphinx. Normalmente, hay dos posibles soluciones temporales:
- Tener un atributo de valores múltiples con ambos conjuntos de valores que desee para que coincida en contra - y filtrar en matrices de valores .
- Si se trata de la misma lógica O cada vez, se combinan en un solo atributo booleano, que tiene la instrucción SQL hacer el trabajo duro inicial.
Uso de marcas de tiempo hace las cosas un poco más difícil, aunque - MVA son sólo para los números enteros en este momento ... es usted después de todos los objetos que se están produciendo en un momento determinado? O algo más?